iOS开发中常用代码解释#include/*说明malloc,NULL,size_t*/#include/*说明va_相关类型和函数*/#include/*说明strcat等*/char*vstrcat(constchar*first,...){size_tlen;char*retbuf;va_listargp;char*p;if(first==NULL)returnNULL;len=strlen(first);va_start(argp,first);while((p=va_arg(argp,char*))!=NULL)len+=strlen(p);va_end(argp);retbuf=malloc(len+1);/*+1包含终止符\0*/if(retbuf==NULL)returnNULL;/*出错*/(void)strcpy(retbuf,first);va_start(argp,first);/*重新开始扫描*/while((p=va_arg(argp,char*))!=NULL)(void)strcat(retbuf,p);va_end(argp);retbuf=malloc(len+1);/*+1包含终止符\0*/if(retbuf==NULL)returnNULL;/*出错*/(void)strcpy(retbuf,first);va_start(argp,first);/*重新开始扫描*/while((p=va_arg(argp,char*))!=NULL)(void)strcat(retbuf,p);va_end(argp);returnretbuf;}%c一个单一的字符%d一个十进制整数%i一个整数%e,%f,%g一个浮点数%o一个八进制数%s一个字符串%x一个十六进制数%p一个指针%n一个等于读取字符数量的整数%u一个无符号整数%[]一个字符集%%一个精度符号//一、NSString/*----------------创建字符串的方法----------------*/1、创建常量字符串。NSString*astring=@ThisisaString!;2、创建空字符串,给予赋值。NSString*astring=[init];astring=@ThisisaString!;NSLog(@astring:%@,astring);;3、在以上方法中,提升速度:initWithString方法NSString*astring=[initWithString:@ThisisaString!];NSLog(@astring:%@,astring);;4、用标准c创建字符串:initWithCString方法char*Cstring=ThisisaString!;NSString*astring=[initWithCString:Cstring];NSLog(@astring:%@,astring);;5、创建格式化字符串:占位符(由一个%加一个字符组成)inti=1;intj=2;NSString*astring=[initWithString:];NSLog(@astring:%@,astring);;6、创建临时字符串NSString*astring;astring=;NSLog(@astring:%@,astring);/*----------------从文件读取字符串:initWithContentsOfFile方法----------------*/NSString*path=@astring.text;NSString*astring=[initWithContentsOfFile:path];NSLog(@astring:%@,astring);;/*----------------写字符串到文件:writeToFile方法----------------*/NSString*astring=[initWithString:@ThisisaString!];NSLog(@astring:%@,astring);NSString*path=@astring.text;;;/*----------------比较两个字符串----------------*/用C比较:strcmp函数charstring1[]=string!;charstring2[]=string!;if(strcmp(string1,string2)==0){NSLog(@1);}isEqualToString方法NSString*astring01=@ThisisaString!;NSString*astring02=@ThisisaString!;BOOLresult=;NSLog(@result:%d,result);compare方法(comparer返回的三种值)NSString*astring01=@ThisisaString!;NSString*astring02=@ThisisaString!;BOOLresult===NSOrderedSame;NSLog(@result:%d,result);NSOrderedSame判断两者内容是否相同NSString*astring01=@ThisisaString!;NSString*astring02=@thisisaString!;BOOLresult===NSOrderedAscending;NSLog(@result:%d,result);//NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)NSString*astring01=@thisisaString!;NSString*astring02=@ThisisaString!;BOOLresult===NSOrderedDescending;NSLog(@result:%d,result);//NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)不考虑大小写比较字符串1NSString*astring01=@thisisaString!;NSString*astring02=@ThisisaString!;BOOLresult===NSOrderedSame;NSLog(@result:%d,result);//NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)不考虑大小写比较字符串2NSString*astring01=@thisisaString!;NSString*astring02=@ThisisaString!;BOOLresult=[astring01compare:astring02options:NSCaseInsensitiveSearch|NSNumericSearch]==NSOrderedSame;NSLog(@result:%d,result);//NSCaseInsensitiveSearch:不区分大小写比较NSLiteralSearch:进行完全比较,区分大小写NSNumericSearch:比较字符串的字符个数,而不是字符值。/*----------------改变字符串的大小写----------------*/NSString*string1=@AString;NSString*string2=@String;NSLog(@string1:%@,);//大写NSLog(@string2:%@,);//小写NSLog(@string2:%@,);//首字母大小/*----------------在串中搜索子串----------------*/NSString*string1=@Thisisastring;NSString*string2=@string;NSRangerange=;intlocation=range.location;intleight=range.length;NSString*astring=[initWithString:[NSStringstringWithFormat:@Location:%i,Leight:%i,location,leight]];NSLog(@astring:%@,astring);;/*----------------抽取子串----------------*/-substringToIndex:从字符串的开头一直截取到指定的位置,但不包括该位置的字符NSString*string1=@Thisisastring;NSString*string2=;NSLog(@string2:%@,string2);-substringFromIndex:以指定位置开始(包括指定位置的字符),并包括之后的全部字符NSString*string1=@Thisisastring;NSString*string2=;NSLog(@string2:%@,string2);-substringWithRange://按照所给出的位置,长度,任意地从字符串中截取子串NSString*string1=@Thisisastring;NSString*string2=;NSLog(@string2:%@,string2);constchar*fieldValue=;constchar*fieldValue=;NSString转NSDataNSString*str=@kilonet;NSData*data=;Dateformat用法:-(NSString*)getDay:(NSDate*)d{NSString*s;NSDateFormatter*format=[init];;s=;;returns;}各地时区获取:NSDate*nowDate=;NSDateFormatter*formatter=[init];;//根据时区名字获取当前时间,如果该时区不存在,默认获取系统当前时区的时间//NSTimeZone*timeZone=;//;//获取所有的时区名字NSArray*array=;//NSLog(@array:%@,array);//for循环//for(inti=0;i;i++)//{//NSTimeZone*timeZone=];//;//NSString*locationTime=;//NSLog(@时区名字:%@:时区当前时间:%@,,locationTime);////NSLog(@timezonenameis:%@,);//}//快速枚举法for(NSString*timeZoneNameinarray){];NSLog(@%@,%@,timeZoneName,);};;NSCalendar用法:-(NSString*)getWeek:(NSDate*)d{NSCalendar*calendar=[initWithCalendarIdentifier:NSGregorianCalendar];unsignedunits=NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSWeekdayCalendarUnit;NSDateComponents*components=;;switch(){case2:return@Monday;break;case3:return@Tuesday;break;case4:return@Wednesday;break;case5:return@Thursday;break;case6:return@Friday;break;case7:return@Saturday;break;case1:return@Sunday;break;default:return@NoWeek;break;}//用components