iphone 学习笔记
来源:互联网 发布:小米平板刷windows 编辑:程序博客网 时间:2024/06/16 12:25
1。隐藏状态栏[[UIApplicationsharedApplication] setStatusBarHidden:YES];/******************************************************************************1、取随机数:NSData *datanow = [NSDatadata]; int i = (int)datanow; srand(i); rand();//int effectPicNum = rand()%7;******************************************************************************//******************************************************************************2、播放音乐:-(void) playMusic{@try{//取文件路径NSString *musicFilePath = [[NSBundlemainBundle] pathForResource:@"startLogo"ofType:@"mp3"]; NSURL *musicURL = [[NSURLalloc] initFileURLWithPath:musicFilePath]; musicPlayer= [[AVAudioPlayeralloc]initWithContentsOfURL:musicURLerror:nil];[musicURL release];//[musicPlayer prepareToPlay];//[musicPlayer setVolume:1]; //设置音量大小musicPlayer.numberOfLoops=0;//设置播放次数,-1为一直循环,0为一次[musicPlayerplay];}@catch(NSException* e) {}}******************************************************************************//******************************************************************************3、每隔0.8秒执行timeCount方法:NSTimer*countTimer;countTimer= [NSTimerscheduledTimerWithTimeInterval:0.8target:selfselector:@selector(timeCount:) userInfo:nilrepeats:YES]; [countTimerfire]; //执行timer******************************************************************************//******************************************************************************4、延迟1秒执行test方法:[selfperformSelector:@selector(test)withObject:nilafterDelay:0.1];******************************************************************************//******************************************************************************5、启动线程:[NSThreaddetachNewThreadSelector:@selector(transImage)toTarget:selfwithObject:nil];timer=[NSTimerscheduledTimerWithTimeInterval:0.03target:selfselector:@selector(TimerClock:)userInfo:nilrepeats:YES];//启动一个NSTimer执行广播[timerfire]; //执行timer-(void)TimerClock:(id)sender{//控制延迟触发if(Timecontrol>1) { [timerConditionbroadcast]; //广播,触发处于等待状态的timerCondition}}-(void)transImage{isRunning=YES;while (countTime < COUNTTIME) {[timerConditionwait];lim += 255 / (2 * KFrame);[selfprocessImage];countTime += 1000 / KFrame;}[timerinvalidate];isRunning=NO;}******************************************************************************//******************************************************************************6、获取文件路径://通过NSHomeDirectory获得文件路径NSString *homeDirectory = NSHomeDirectory();NSString *fileDirectory = [homeDirectory stringByAppendingPathComponent:@"temp/app_data.plist"];//使用NSSearchPathForDirectoriesInDomains检索指定路径NSArray*path =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);//常量NSDocumentDirectory表示正在查找Documents目录的路径(使用NSCachesDirectory表明要查找的时Caches文件夹),常量NSUserDomainMask表明我们希望将搜索限制于我们应用程序的沙盒,最后一个参数决定了是否“展开”波浪线符号。//在Mac系统中,‘~’表示主路经(Home),如果不展开,路径看起来就是:‘~/Documents’,展开后即得到完整路径。这个参数一直设置位真即可。NSString *documentsDirectory = [paths objectAtIndex:0];zNSString *fileDirectory = [documentsDirectory stringByAppendingPathComponent:@"file.txt"];//使用Foundation中的NSTemporaryDirectory函数直接返回代表temp文件夹的全路径的字符串对象NSString *tempDirectory = NSTemporaryDirectory();NSString*file = [tempDirectorystringByAppendingPathComponent:@"file.txt"]; Example:NSArray*path =NSSearchPathForDirectoriesInDomains(NSCachesDirectory,NSUserDomainMask,YES);NSString *docDir = [path objectAtIndex:0];NSLog(@"filepath:%@",docDir);NSString*str =@"hello.jpg";NSString*filepath = [docDirstringByAppendingPathComponent:str];//NSString *filepath = [docDir stringByAppendingPathComponent:[NSString stringWithUTF8String:"///mest.txt"]];NSLog(@"filepath:%@",filepath);BOOLsuccess = [[NSFileManagerdefaultManager]createFileAtPath: filepathcontents:nilattributes:nil];NSLog(@"result",success);printf("Create File:%s %s.",[filepathUTF8String], success ?"Success":"Error");NSString* reValue= [NSStringstringWithString:@"\"success\""];NSLog(reValue);******************************************************************************//************************************************************************************************************************************************************7文件、文件夹操作//如果"/Documents/Theme"路径不存在,则创建。if(![[NSFileManagerdefaultManager]fileExistsAtPath:themePath]){[[NSFileManagerdefaultManager]createDirectoryAtPath:themePathattributes:nil];}//删除已存在的同名文件夹if([[NSFileManagerdefaultManager]fileExistsAtPath:savePath]) {[[NSFileManagerdefaultManager]removeItemAtPath:savePatherror:NULL];}************************************************************************************************************************************************************//************************************************************************************************************************************************************7 子线程抛给主线程:[selfperformSelectorOnMainThread:@selector(shiftView)withObject:nilwaitUntilDone:YES];************************************************************************************************************************************************************//************************************************************************************************************************************************************8获取当前时间NSDateFormatter*formatter = [[NSDateFormatteralloc]init];[formattersetDateFormat:@"yyyy-MM-dd hh:mm:ss"];NSString *locationString=[formatter stringFromDate: [NSDatedate]];//获取当前时间作为productIdNSDateFormatter*formatter = [[NSDateFormatteralloc]init];[formatter setDateFormat:@"hhmmss"];NSString *locationString=[formatter stringFromDate: [NSDatedate]];downloadInfo.productId = locationString;[formatter release];/****************************************************************************** 函数名称 : getDate函数描述 : 获取当前日期时间 输入参数 : N/A 输出参数 : N/A 返回值 : NSString 当前时间 备注 : ******************************************************************************/-(NSString *)getDate{NSDateFormatter*formatter = [[NSDateFormatteralloc]init];[formattersetDateFormat:@"yyyy-MM-dd EEEE HH:mm:ss a"];NSString *locationString=[formatter stringFromDate: [NSDatedate]];[formatter release];return locationString;}大写的H日期格式将默认为24小时制,小写的h日期格式将默认为12小时不需要特别设置,只需要在dataFormat里设置类似"yyyy-MMM-dd"这样的格式就可以了日期格式如下:y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周数 Number 27 W 月份中的周数 Number 2 D 年中的天数 Number 189 d 月份中的天数 Number 10 F 月份中的星期 Number 2 E 星期中的天数 Text Tuesday; Tue a Am/pm 标记 Text PM H 一天中的小时数(0-23) Number 0 k 一天中的小时数(1-24) Number 24 K am/pm 中的小时数(0-11) Number 0 h am/pm 中的小时数(1-12) Number 12 m 小时中的分钟数 Number 30 s 分钟中的秒数 Number 55 S 毫秒数 Number 978 z 时区 General time zone Pacific Standard Time; PST; GMT-08:00 Z 时区 RFC 822 time zone -0800************************************************************************************************************************************************************//************************************************************************************************************************************************************读取和写入plist文件plist文件是标准的xml文件,在cocoa中可以很简单地使用。这里介绍一下使用方法: 以下代码在Mac和iPhone中均适用。写入plist文件: NSMutableDictionary * dict = [ [ NSMutableDictionary alloc ] initWith plist文件是标准的xml文件,在cocoa中可以很简单地使用。这里介绍一下使用方法: 以下代码在Mac和iPhone中均适用。 写入plist文件: NSMutableDictionary* dict = [ [NSMutableDictionaryalloc ]initWithContentsOfFile:@"/Sample.plist"];[ dictsetObject:@"Yes"forKey:@"RestartSpringBoard"];[ dictwriteToFile:@"/Sample.plist"atomically:YES]; 读取plist文件: NSMutableDictionary* dict = [ [NSMutableDictionaryalloc ]initWithContentsOfFile:@"/Sample.plist"];NSString* object = [ dict objectForKey:@"RestartSpringBoard" ];************************************************************************************************************************************************************/