摘要: 在OC当中,属性是对字段的一种特殊封装手段。在编译期,编译器会将对字段的访问替换为内存偏移量,实质是一种硬编码。如果增加一个字段,那么对象的内存排布就会改变,需要重新编译才行。OC的做法是,把实例变量当做一种存储偏移量所用的特殊变量交给类对象来管理,偏移量会在运行期动态查找,这样无论何时访问实例变量... 阅读全文
posted @ 2014-10-18 14:04 肉排君 阅读(819) 评论(0) 推荐(0) 编辑
摘要: AlertView的show方法执行后,后面的代码会继续运行,而不会等待用户按键结束再走,这样,如果把弹出的代码写在一个BOOL函数里,没等用户确认直接返回NO就惨了,解决方法: 1 - (BOOL)beforeBackButtonClickEvent { 2 UIAlertView *al... 阅读全文
posted @ 2014-09-15 14:17 肉排君 阅读(611) 评论(0) 推荐(0) 编辑
摘要: 前一阵子做了iOS集成新浪微博SDK并实现部分功能的工作,这里正好将事后反思的内容总结一下,欢迎喷冷水。 假定需求是这样:在已经使用微博登陆的前提下,查找一个人的所有好友,筛选出其中年龄、性别等属性符合一定规则的人,然后查找这些人所有的微博,将这些微博按照一定的条件组织并且展示。 首先说明一下,查... 阅读全文
posted @ 2014-08-24 23:11 肉排君 阅读(1004) 评论(1) 推荐(0) 编辑
摘要: 进入后台时,iOS给了我们10分钟的时间做一些事件处理。AppDelegate.h:1 #import 2 3 @interface AppDelegate : UIResponder 4 5 @property (assign, nonatomic) UIBackgroundTaskIdentif... 阅读全文
posted @ 2014-07-24 19:27 肉排君 阅读(274) 评论(0) 推荐(0) 编辑
摘要: GCD是iOS的一种底层多线程机制,今天总结一下GCD的常用API和概念,希望对大家的学习起到帮助作用。GCD队列的概念在多线程开发当中,程序员只要将想做的事情定义好,并追加到DispatchQueue(派发队列)当中就好了。派发队列分为两种,一种是串行队列(SerialDispatchQueue)... 阅读全文
posted @ 2014-07-15 15:04 肉排君 阅读(1481) 评论(1) 推荐(2) 编辑
摘要: 显然在某些情况下我们很希望减少移动设备和网络的交互次数,这就需要使用iOS的内存缓存了。代码基本上没有什么需要解释的地方,注意不要乱缓存,注意根据需要清理缓存即可。 1 //构建请求 2 NSURL *url = [NSURL URLWithString:@"http://218.2... 阅读全文
posted @ 2014-07-12 15:57 肉排君 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 先吐槽一下这个标题,空格略蛋疼,不像中文,但是不写空格看上去则更诡异,求解决方案……NSTimer会retain它的target,这样如果在控制器当中定义一个NSTimer,target指定为self,则会引起循环引用。解决方案和防止block引用self一样,第一步需要把NSTimer的操作封装到... 阅读全文
posted @ 2014-07-05 11:40 肉排君 阅读(1062) 评论(0) 推荐(0) 编辑
摘要: 有些企业内部程序需要对访问程序的真机做白名单限制,对于设备唯一码,苹果做出了如下限制:
1.从iOS7之后,获取MAC地址会返回固定值“02:00:00:00:00:00”。
2.试图获取UDID(设备唯一码)的程序不会通过苹果的审核。解决方案:苹果推荐使用UUID(其实微软的GUID就是它的一种实... 阅读全文
posted @ 2014-07-04 15:49 肉排君 阅读(478) 评论(0) 推荐(0) 编辑
摘要: 这里对网络请求方式做一个总结。原生方式同步GET请求:1 NSString *urlStr = @"http://apis.juhe.cn/mobile/get?phone=13429667914&key=e87a054855796995c9e2b48e8514d0da";2 url... 阅读全文
posted @ 2014-07-04 10:56 肉排君 阅读(646) 评论(0) 推荐(0) 编辑
摘要: 首先要导入libsqlite3.dylib并且加入头文件#import ,在进行增删改查之前还要先把数据库搞进去。一种方法是从外面拷贝到程序里:http://www.cnblogs.com/Steak/p/3764395.html另一种方法就是直接创建表,既然是操纵数据库,那么一定有一个数据库对象,... 阅读全文
posted @ 2014-06-22 15:17 肉排君 阅读(937) 评论(0) 推荐(0) 编辑