
Objective-C
boyXiong
这个作者很懒,什么都没留下…
展开
-
Objective-C Runtime (一)
感受淡到runtime ,让我们先感受一下它的黑魔法,欺诈(swizz),先写一点代码,感受一下 1.新建一个项目, SingleViewApplication 然后选择默认的ViewController.m 2.一个APP 运行的时候会先将类 load 到内存中,相当于电脑程序启动的时候,将程序资源从硬盘放到内存中一样 3.包含头文件 既然要使用runtime ,那就要包含头文件 obj/runt原创 2015-08-11 22:15:49 · 424 阅读 · 0 评论 -
Objective-C Runtime (二)
前篇的代码已经让我们感受到了runtime的诡异,现在让我们分析几行代码 //1.载入内存的时候调用 + (void)load{ /*2.单例代码块,保证代码块中的代码只运行一次*/ static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ /*3.得到描述一个类的结构体地址 typedef st原创 2015-08-16 00:08:37 · 362 阅读 · 0 评论 -
@dynamic关键字
Objective-C 2.0 提供了@dynamic关键字。这个关键字有两个作用: 1 让编译器不要创建实现属性所用的实例变量; 2 让编译器不要创建该属性的get和setter方法。 @property(nonatomic, copy) NSString *string; 默认情况下,编译器会为当前类自动生成一个NSString *_string的实例变量(如果想改变实例变量的名称可原创 2015-09-17 23:16:51 · 815 阅读 · 0 评论 -
Objective-C type encodings
Table 6-1 Objective-C type encodings Code Meaning c A char i An int s A short l A long l is treated as a 32-bit quantity on 64-b原创 2015-09-23 21:15:32 · 637 阅读 · 0 评论