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" ];************************************************************************************************************************************************************/