iOS开发常用代码_第1页
iOS开发常用代码_第2页
iOS开发常用代码_第3页
iOS开发常用代码_第4页
iOS开发常用代码_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、iOS开发常用的代码%c一个单一的字符%d一个十进制整数%i一个整数%e,%f,%g一个浮点数%o一个八进制数%s一个字符串%x一个十六进制数%p一个指针%n一个等于读取字符数量的整数%u一个无符号整数%一个字符集%一个精度符号/一、NSString/*创建字符串的方法*/1、创建常量字符串。NSString*astring="ThisisaString!"2、创建空字符串,给予赋值。NSString*astring=NSStringallocinit;astring="ThisisaString!"NSLog("astring:%"

2、,astring);astringrelease;3、在以上方法中,提升速度:initWithString方法NSString*astring=NSStringallocinitWithString:"ThisisaString!"NSLog("astring:%",astring);astringrelease;4、用标准c创建字符串:initWithCString方法char*Cstring="ThisisaString!"NSString*astring=NSStringallocinitWithCString:Cstring;

3、NSLog("astring:%",astring);astringrelease;5、创建格式化字符串:占位符(由一个%加一个字符组成)inti=1;intj=2;NSString*astring=NSStringallocinitWithString:NSStringstringWithFormat:"%d.Thisis%istring!",i,j;NSLog("astring:%",astring);astringrelease;6、创建临时字符串NSString*astring;astring=NSStringstringWi

4、thCString:"Thisisatemporarystring"NSLog("astring:%",astring);/*从文件读取字符串:initWithContentsOfFile方法*/NSString*path="astring.text"NSString*astring=NSStringallocinitWithContentsOfFile:path;NSLog("astring:%",astring);astringrelease;/*写字符串到文件:writeToFile方法*/NSString*

5、astring=NSStringallocinitWithString:"ThisisaString!"NSLog("astring:%",astring);NSString*path="astring.text"astringwriteToFile:pathatomically:YES;astringrelease;/*比较两个字符串*/用C比较:strcmp函数charstring1="string!"charstring2="string!"if(strcmp(string1,string

6、2)=0)NSLog("1");isEqualToString方法NSString*astring01="ThisisaString!"NSString*astring02="ThisisaString!"BOOLresult=astring01isEqualToString:astring02;NSLog("result:%d",result);compare方法(comparer返回的三种值)NSString*astring01="ThisisaString!"NSString*astrin

7、g02="ThisisaString!"BOOLresult=astring01compare:astring02=NSOrderedSame;NSLog("result:%d",result);NSOrderedSame判断两者内容是否相同NSString*astring01="ThisisaString!"NSString*astring02="thisisaString!"BOOLresult=astring01compare:astring02=NSOrderedAscending;NSLog("

8、result:%d",result);/NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)NSString*astring01="thisisaString!"NSString*astring02="ThisisaString!"BOOLresult=astring01compare:astring02=NSOrderedDescending;NSLog("result:%d",result);/NSOrderedDescending判断两对象值的大小(

9、按字母顺序进行比较,astring02小于astring01为真)不考虑大小写比较字符串1NSString*astring01="thisisaString!"NSString*astring02="ThisisaString!"BOOLresult=astring01caseInsensitiveCompare:astring02=NSOrderedSame;NSLog("result:%d",result);/NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真

10、)不考虑大小写比较字符串2NSString*astring01="thisisaString!"NSString*astring02="ThisisaString!"BOOLresult=astring01compare:astring02options:NSCaseInsensitiveSearch|NSNumericSearch=NSOrderedSame;NSLog("result:%d",result);/NSCaseInsensitiveSearch:不区分大小写比较NSLiteralSearch:进行完全比较,区分大小写N

11、SNumericSearch:比较字符串的字符个数,而不是字符值。/*改变字符串的大小写*/NSString*string1="AString"NSString*string2="String"NSLog("string1:%",string1uppercaseString);/大写NSLog("string2:%",string2lowercaseString);/小写NSLog("string2:%",string2capitalizedString);/首字母大小/*在串中搜索子串*/NS

12、String*string2="string"NSString*string1="Thisisastring"NSRangerange=string1rangeOfString:string2;intlocation=range.location;intleight=range.length;NSString*astring=NSStringallocinitWithString:NSStringstringWithFormat:"Location:%i,Leight:%i",location,leight;NSLog("a

13、string:%",astring);astringrelease;/*抽取子串*/但不包括该位,并包括之-substringToIndex:从字符串的开头一直截取到指定的位置,置的字符NSString*string1="Thisisastring"NSString*string2=string1substringToIndex:3;NSLog("string2:%",string2);-substringFromIndex:以指定位置开始(包括指定位置的字符)后的全部字符NSString*string1="Thisisastring

14、"NSString*string2=string1substringFromIndex:3;-substringWithRange:/按照所给出的位置,长度,任意地从字符串中截取子串NSString*string1="Thisisastring"NSString*string2=string1substringWithRange:NSMakeRange(0,4);NSLog("string2:%",string2);constchar*fieldValue=valuecStringUsingEncoding:NSUTF8StringEncodi

15、ng;constchar*fieldValue=valueUTF8String;NSString转NSDataNSString*str="kilonet"NSData*data=strdataUsingEncoding:NSUTF8StringEncoding;Dateformat用法:-(NSString*)getDay:(NSDate*)dNSString*s;NSDateFormatter*format=NSDateFormatterallocinit;formatsetDateFormat:"YYYY/MM/ddhh:mm:ss"s=format

16、stringFromDate:d;formatrelease;returns;各地时区获取:NSDate*nowDate=NSDatenew;NSDateFormatter*formatter=NSDateFormatterallocinit;formattersetDateFormat:"yyyy/MM/ddHH:mm:ss"/根据时区名字获取当前时间,如果该时区不存在,默认获取系统当前时区的时间/NSTimeZone*timeZone=NSTimeZonetimeZoneWithName:"Europe/Andorra"/formattersetTi

17、meZone:timeZone;/获取所有的时区名字NSArray*array=NSTimeZoneknownTimeZoneNames;/NSLog("array:%",array);/for循环/for(inti=0;i<arraycount;i+)/NSTimeZone*timeZone=NSTimeZonetimeZoneWithName:arrayobjectAtIndex:i;/formattersetTimeZone:timeZone;/NSString*locationTime=formatterstringFromDate:nowDate;/NSLo

18、g("时区名字:%:时区当前时间:%",arrayobjectAtIndex:i,locationTime);/NSLog("timezonenameis:%",arrayobjectAtIndex:i);/快速枚举法for(NSString*timeZoneNameinarray)formattersetTimeZone:NSTimeZonetimeZoneWithName:timeZoneName;NSLog("%,%",timeZoneName,formatterstringFromDate:nowDate);formatter

19、release;nowDaterelease;NSCalendar用法:-(NSString*)getWeek:(NSDate*)dNSCalendar*calendar=NSCalendarallocinitWithCalendarIdentifier:NSGregorianCalendar;unsignedunits=NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit|NSWeekdayCalendarUnit;NSDateComponents*components=calendarcomponents:unitsfromDat

20、e:d;calendarrelease;switch(componentsweekday)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"b

21、reak;default:return"NoWeek"break;/用components,我们可以读取其他更多的数据4.用Get方式读取网络数据:将网络数读取为字符串-(NSString*)getDataByURL:(NSString*)urlreturnNSStringallocinitWithData:NSDatadataWithContentsOfURL:NSURLURLWithString:urlstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncodingencoding:NSUTF8StringEn

22、coding;/读取网络图片-(UIImage*)getImageByURL:(NSString*)urlreturnUIImageallocinitWithData:NSDatadataWithContentsOfURL:NSURLURLWithString:urlstringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding;多线程NSThreaddetachNewThreadSelector:selector(scheduleTask)toTarget:selfwithObject:nil;-(void)scheduleTas

23、k/createapoolNSAutoreleasePool*pool=NSAutoreleasePoolallocinit;/releasethepool;poolrelease;/如果有参数,则这么使用:NSThreaddetachNewThreadSelector:selector(scheduleTask:)toTarget:selfwithObject:NSDatedate;-(void)scheduleTask:(NSDate*)mdate/createapoolNSAutoreleasePool*pool=NSAutoreleasePoolallocinit;/releaseth

24、epool;poolrelease;/注意selector里有冒号。/在线程里运行主线程里的方法selfperformSelectorOnMainThread:selector(moveToMain)withObject:nilwaitUntilDone:FALSE;6. 定时器NSTimer用法:代码/一个可以自动关闭的Alert窗口UIAlertView*alert=UIAlertViewallocinitWithTitle:nilmessage:"一个可以自动关闭的Alert窗口"delegate:nilcancelButtonTitle:nil/NSLocalize

25、dString("OK","OK")/取消任何按钮otherButtonTitles:nil;/alertsetBounds:CGRectMake(alert.bounds.origin.x,alert.bounds.origin.y,alert.bounds.size.width,alert.bounds.size.height+30.0);alertshow;UIActivityIndicatorView*indicator=UIActivityIndicatorViewallocinitWithActivityIndicatorStyle:UIAc

26、tivityIndicatorViewStyleWhiteLarge;/Adjusttheindicatorsoitisupafewpixelsfromthebottomofthealertindicator.center=CGPointMake(alert.bounds.size.width/2,alert.bounds.size.height-40.0);indicatorstartAnimating;alertinsertSubview:indicatoratIndex:0;indicatorrelease;NSTimerscheduledTimerWithTimeInterval:3.

27、0ftarget:selfselector:selector(dismissAlert:)userInfo:NSDictionarydictionaryWithObjectsAndKeys:alert,"alert","testing","key",nil/如果不用传递参数,那么可以将此项设置为nil.repeats:NO;NSLog("releasealert");alertrelease;-(void)dismissAlert:(NSTimer*)timerNSLog("releasetimer&qu

28、ot;);NSLog(timeruserInfoobjectForKey:"key");UIAlertView*alert=timeruserInfoobjectForKey:"alert"alertdismissWithClickedButtonIndex:0animated:YES;定时器停止使用:timerinvalidate;timer=nil;7. 用户缺省值NSUserDefaults读取:/得到用户缺省值NSUserDefaults*defs=NSUserDefaultsstandardUserDefaults;/在缺省值中找到AppleL

29、anguages,返回值是一个数组NSArray*languages=defsobjectForKey:"AppleLanguages"NSLog("alllanguage语言is%",languages);/在得到的数组中的第一个项就是用户的首选语言了NSLog("首选语言is%",languagesobjectAtIndex:0);/getthelanguage&countrycodeNSLocale*currentLocale=NSLocalecurrentLocale;NSLog("LanguageCodei

30、s%",currentLocaleobjectForKey:NSLocaleLanguageCode);NSLog("CountryCodeis%",currentLocaleobjectForKey:NSLocaleCountryCode8. View之间切换的动态效果设置:SettingsController*settings=SettingsControllerallocinitWithNibName:"SettingsView"bundle:nil;settings.modalTransitionStyle=UIModalTransit

31、ionStyleFlipHorizontal;/水平翻转selfpresentModalViewController:settingsanimated:YES;settingsrelease;9. NSScrollView滑动用法:-(void)scrollViewDidScroll:(UIScrollView*)scrollViewNSLog("正在滑动中.");/用户直接滑动NSScrollView,可以看到滑动条-(void)scrollViewDidEndDecelerating:(UIScrollView*)scrollView/通过其他控件触发NSScrollV

32、iew滑动,看不到滑动条-(void)scrollViewDidEndScrollingAnimation:(UIScrollView*)scrollView11.键盘处理系列/settheUIKeyboardtoswitchtoadifferenttextfieldwhenyoupressreturn/switchtextFieldtothenameofyourtextfieldtextFieldbecomeFirstResponder;srandom(time(NULL);/随机数种子idd=random();/随机数4. iPhone的系统目录:/得到Document目录:NSArray

33、*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);NSString*documentsDirectory=pathsobjectAtIndex:0;得到temp临时目录:NSString*tempPath=NSTemporaryDirectory();/得到目录上的文件地址:文件NSString*文件地址=目录地址stringByAppendingPathComponent:"名.扩展名"5. 状态栏显示Indicator:UIApplicationsha

34、redAworkActivityIndicatorVisible=YES;6. appIcon显示数字:-(void)applicationDidEnterBackground:(UIApplication*)applicationUIApplicationsharedApplicationsetApplicationIconBadgeNumber:5;7. sqlite保存地址:代码NSArray*paths=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);

35、NSString*thePath=pathsobjectAtIndex:0;NSString*filePath=thePathstringByAppendingPathComponent:"kilonet1.sqlite"NSString*dbPath=NSBundlemainBundleresourcePathstringByAppendingPathComponent:"kilonet2.sqlite"8. Application退出:exit(0);9. AlertView,ActionSheet的cancelButton点击事件:代码-(void

36、)actionSheet:(UIActionSheet*)actionSheetdidDismissWithButtonIndex:(NSInteger)buttonIndexNSLog("cancelactionSheet");/当用户按下cancel按钮if(buttonIndex=actionSheetcancelButtonIndex)exit(0);/当用户按下destructive按钮/if(buttonIndex=actionSheetdestructiveButtonIndex)/DoSomethinghere./-(void)alertView:(UIAl

37、ertView*)alertViewwillDismissWithButtonIndex:(NSInteger)buttonIndexNSLog("cancelalertView");if(buttonIndex=alertViewcancelButtonIndex)exit(0);10. 给Window设置全局的背景图片:window.backgroundColor=UIColorcolorWithPatternImage:UIImageimageNamed:"coolblack.png"11. UITextField文本框显示及对键盘的控制代码#pr

38、agmamark-#pragmamarkUITextFieldDelegate/控制键盘跳转-(BOOL)textFieldShouldReturn:(UITextField*)textFieldif(textField=_txtAccount)if(_txtAccount.textlength=0)returnNO;_txtPasswordbecomeFirstResponder;elseif(textField=_txtPassword)_txtPasswordresignFirstResponder;returnYES;/输入框背景更换-(BOOL)textFieldShouldBegi

39、nEditing:(UITextField*)textFieldtextFieldsetBackground:UIImageimageNamed:"ctext_field_02.png"returnYES;-(void)textFieldDidEndEditing:(UITextField*)textFieldtextFieldsetBackground:UIImageimageNamed:"ctext_field_01.png"12. UITextField文本框前面空白宽度设置以及后面组合按钮设置:代码/给文本输入框后面加入空白_txtAccount

40、.rightView=_btnDropDown;_txtAccount.rightViewMode=UITextFieldViewModeAlways;/给文本输入框前面加入空白CGRectframe=_txtAccountframe;frame.size.width=5;UIView*leftview=UIViewallocinitWithFrame:frame;_txtAccount.leftViewMode=UITextFieldViewModeAlways;_txtAccount.leftView=leftview;13. UIScrollView设置滑动不超出本身范围:fcScrol

41、lViewsetBounces:NO;14. 在drawRect里画文字:UIFont*f=UIFontsystemFontOfSize:20;UIColordarkGrayColorset;NSString*text="hinKiloNet"textdrawAtPoint:CGPointMake(center.x,center.y)withFont:f;15. NSArray查找是否存在对象时用indexOfObject,如果不存在则返回为NSNotFound.NString与NSArray之间相互转换:array=stringcomponentsSeparatedByS

42、tring:","string=arrayvalueForKey:"description"componentsJoinedByString:","16. TabController随意切换tabbar:self.tabBarControllersetSelectedIndex:tabIndex;或者self.tabBarController.selectedIndex=tabIndex;或者实现下面的delegate来扑捉tabbar的事件:代码-(BOOL)tabBarController:(UITabBarController*

43、)tabBarControllershouldSelectViewController:(UIViewController*)viewControllerif(viewController.tabBarItem.titleisEqualToString:NSLocalizedString("Logout",nil)selfshowLogout;returnNO;returnYES;17. 自定义View之间切换动画:代码-(void)pushController:(UIViewController*)controllerwithTransition:(UIViewAnima

44、tionTransition)transitionUIViewbeginAnimations:nilcontext:NULL;selfpushViewController:controlleranimated:NO;UIViewsetAnimationDuration:.5;UIViewsetAnimationBeginsFromCurrentState:YES;UIViewsetAnimationTransition:transitionforView:self.viewcache:YES;UIViewcommitAnimations;CATransition*transition=CATransitionanimatio

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论