Objective-C
kakulukia
这个作者很懒,什么都没留下…
展开
-
xcode5中新特性@import与#import区别及作用
@import作用(http://www.raywenderlich.com/49850/whats-new-in-objective-c-and-foundation-in-ios-7):Ø 将框架wrap进实现文件中而不是像#import那样将框架逐句复制进实现文件,因此提升了预编译速度Ø 能够自动link所需要的框架,不用再手动在target中添加框架原创 2014-05-02 11:30:13 · 338 阅读 · 0 评论 -
OC 代理 协议 委托 数据源的概念
(网摘)OBJC 中的 protocol 相当于 java 里的接口,delagate 就是接口的实现类(C中的回调类似 ); 数据源就是对象遵循了存储数据的协议,可以存储使用数据 协议表示了方法可以被任何类所实现。协议本身不是类。他们只是简单定义了一个其他对象可以实现的接口。当你的类实现了协议中的某个方法的时候也就是说你的类实现了那个协议。 Objective-C的转载 2014-05-06 21:51:10 · 387 阅读 · 0 评论 -
instancetype和id的区别
一、什么是instancetypeinstancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象。我们都知道未知类型的的对象可以用id关键字表示,那为什么还会再有一个instancetype呢?二、关联返回类型(related result types)根据Cocoa的命名规则,满足下述规则的方法:1、类方法中,转载 2014-05-06 21:51:12 · 302 阅读 · 0 评论 -
Class Factory Methods(转自apple)
Class Factory MethodsClass factory methods are implemented by a class as a convenience for clients. They combine allocation and initialization in one step and return the created object. However, t转载 2014-05-26 20:08:01 · 330 阅读 · 0 评论 -
ARC下强引用弱引用retainCount增减规律
本文只是记录ARC下不同引用时rc变化规律,不涉及基本原理。 NSString *bstr = [NSString stringWithFormat:@"bbb"]; NSLog(@"bstr-->%ld", CFGetRetainCount((__bridge CFTypeRef)bstr)); NSString *str = bstr; NSLog(@"str原创 2015-09-07 17:17:42 · 404 阅读 · 0 评论 -
KVO要传递对象而不是属性
使用KVO传参给实际做修改的方法(一般是子函数)的时候,要传被观察对象的【对象指针】,而不是被观察对象的【被观察属性的指针】。今天写个小东西的时候由于直接传了被观察属性的指针,折腾半天才找到问题。原因一个可能是必须用对象的属性方法修改被观察属性,KVO才能监测到(也许这也是叫键值观察的原因);另一个可能是因为传属性指针到子函数时,被子函数的临时变量赋值后退回时临时变量已经释放导致其为空,而传对象指原创 2015-09-16 22:52:55 · 336 阅读 · 0 评论 -
主进程中GCD用main queue会卡死但新生成queue却没问题
主进程中添加任务到GCD的main queue会卡死,而如果用生成的queue却正常运行,原因暂时不明,贴上来记录下。void synSerial(void) {//同步串行 dispatch_queue_t squeue =dispatch_queue_create("squeue",NULL);// dispatch_queue_t s2queu原创 2016-12-21 21:39:54 · 420 阅读 · 0 评论