摘要: NSLog是笔者在iOS开发中,用到的频率最高的函数,不是之一。比起下断点,然后一步一步的跟进调试程序,笔者更喜欢直观的通过NSLog输出一些东西以确定程序的运行行为。以前的时候有研究过怎样在打包提交时一次性清除所以的调试语句(调试总是件花时间的时候事儿,经常有时候写了一条输出,然后忘记注释了,然后可能要不知道哪天突然看到一条输出,然后要找半天才能注释掉),研究最终的结果还是觉得要养成好的习惯,用完的输出要及时注释。十一期间没事儿,突然又想到了这个话题,又研究了一番,发现不但可以一次性的取消所有的调试输出,还可以调整输出内容的格式!要知道原来通过NSLog输出的东西只有最后面冒号后面的东西是有 阅读全文
posted @ 2012-10-26 00:40 yingkong1987 阅读(594) 评论(0) 推荐(0)
摘要: 很多时候,我们不需要关心这个类,我们很少继承这个类,偶尔会调用这个类的api来实现一些功能,但是不可否认,这个类是iOS编程中很重要的一个概念。UIApplication的核心作用是提供了iOS程序运行期间的控制和协作工作。每一个程序在运行期必须有且仅有一个UIApplication(或则其子类)的一个实例。回想一下我在前面的文章“main函数研究”的文章中提到的main函数的代码,可以看出,在程序开始运行的时候,UIApplicationMain函数是程序进入点,这个函数做了很多工作,其中一个重要的工作就是创建一个UIApplication的单例实例。在你的代码中你,你可以通过调用[UIAp 阅读全文
posted @ 2012-10-23 23:35 yingkong1987 阅读(200) 评论(0) 推荐(0)
摘要: 半年前,JoelOnSoftware和CodingHorror合搞的stackoverflow.com刚上线不久,我兴冲冲地跑过去扔了一个问题:你们认为编程的首要原则是什么?作为我的学习原则的一个实践:8. 学习一项知识,必须问自己三个重要问题:1. 它的本质是什么。2. 它的第一原则是什么。3. 它的知识结构是怎样的。5个月过去了,这个问题到现在还有人回复,我得到了一大堆有意思的答案,忍不住翻译过来与大家分享:1. 获得最多认同的答案:KISS - Keep It Simple StupidDRY - Don’t Repeat Yourself一点不感到意外吧?注:DRY原则倒是比较好理解和 阅读全文
posted @ 2012-10-11 22:43 yingkong1987 阅读(176) 评论(0) 推荐(0)
摘要: 纯数字^[0-9]+$纯数字(6-16位)^[0-9]{6,16}+$验证输入带数字(或纯数字,或小数)d+(.d{1,6})|d+验证汉字^[u4e00-u9fa5]{2,20}$验证只能输入汉字或英文字符[u4e00-u9fa5]{2,20}$|[A-Za-z]*金额的验证(或纯数字,或小数点后最多两位,并且整数为必须大于0)^([1-9]d+|[1-9])(.dd?)*$验证只能输英文字母,数字,下划线,且非数字开头^[A-Za-z]w*$手机验证13d{9}|158d{8}|159d{8}电话验证((d{3,4})|d{3,4}-|s)?d{7,14}日期验证,如2007-05-01^ 阅读全文
posted @ 2012-09-29 10:46 yingkong1987 阅读(284) 评论(0) 推荐(0)
摘要: ios的排序不知道是用强大来形容呢,还是要用复杂来形容,反正觉得不如php一个sort函数来的简洁,每次用排序都得去网上现查怎么实现,这不查的次数多了也便有了这个小小的总结。1.升序排列 NSArray *_firstArray = [NSArray arrayWithObjects:@"ccccc",@"bbbbb",@"ddddd",@"aaaaa",nil]; NSArray *_sortedArray= [_firstArray sortedArrayUsingSelector:@selector(comp 阅读全文
posted @ 2012-09-27 13:37 yingkong1987 阅读(1589) 评论(1) 推荐(0)
摘要: ios获取当前系统的语言环境,其实就是一个数组,默认第一个就是当前的系统语言,和手机设置->通用->多语言环境->语言里的那个排序是一致的/***得到本机现在用的语言* en:英文 zh-Hans:简体中文 zh-Hant:繁体中文 ja:日本 ......*/+ (NSString*)getPreferredLanguage{ NSUserDefaults* defs = [NSUserDefaults standardUserDefaults]; NSArray* languages = [defs objectForKey:@"AppleLanguages&q 阅读全文
posted @ 2012-09-27 13:16 yingkong1987 阅读(1944) 评论(0) 推荐(0)
摘要: - (NSString *) md5:(NSString *) input{ const char *cStr = [input UTF8String]; unsigned char digest[16]; CC_MD5( cStr, strlen(cStr), digest ); // This is the md5 call NSMutableString *output = [NSMutableStringstringWithCapacity:CC_MD5_DIGEST_LENGTH * 2]; for(int i = 0; i < CC_MD5_DIGEST_LENGTH... 阅读全文
posted @ 2012-09-25 22:23 yingkong1987 阅读(811) 评论(0) 推荐(0)
摘要: iphone5 出来后,针对旧版屏幕的app 放到新iphone 上将会导致黑边问题..原因: 多出来的88个点将会将会被自动均分为上下两部分.背景为黑色.如图示:解决办法: 使用绝对布局的开发者,可能需要对程序进行一些修改.如CGRect frame =CGRectMake(0,0,320,460);yourController.view.frame =frame;以上布局将导致控件固定在某一位置...开发者应逐渐放弃该种布局方式,而采用自适应的动态方式.. 解决办法: 步骤一. 升级xcode 到4.5 步骤二. 宏定义获取设备屏幕大小来替换你程序中使用 320,460的一些绝对坐... 阅读全文
posted @ 2012-09-24 23:01 yingkong1987 阅读(535) 评论(0) 推荐(0)
摘要: 1. Maps替换Google Map为苹果自行研发3D地图2. Social Network集成新浪微博,Facebook , Twitter等社交网络帐号管理。 < Social.framework >3. Pass Kit提供通行证SDK,可以此为基础开发电子通行证甚至实体物理票务。4. Game Center可调用GKChallenge函数发起游戏挑战;authenticateHandler保存服务端验证信息;支持超时设置;GKAchievement可同时提交多个成就信息。5. ReminderEvent Kit framework提供可定制提醒服务。6. In-App P 阅读全文
posted @ 2012-09-21 00:20 yingkong1987 阅读(265) 评论(0) 推荐(0)
摘要: 苹果文档Transitioning to ARC Release Notes里描述了好几种处理arc和非arc情况的方法,我遇到的情况是需要在一个非arc的工程里载入一个同步twitter的库,而该库是使用arc模式的文件。为了使两者兼容,我采用如下方法,顺利通过编译:Use Compiler Flags to Enable and Disable ARCYou enable ARC using a new-fobjc-arccompiler flag. You can also choose to use ARC on a per-file basis if it’s more conven 阅读全文
posted @ 2012-09-05 21:30 yingkong1987 阅读(934) 评论(0) 推荐(0)