摘要: Run loop,正如其名,loop表示某种循环,和run放在一起就表示一直在运行着的循环。实际上,run loop和线程是紧密相连的,可以这样说run loop是为了线程而生,没有线程,它就没有存在的必要。Run loops是线程的基础架构部分, Cocoa 和 CoreFundation 都提供 阅读全文
posted @ 2017-02-25 21:10 昊天科技 阅读(4241) 评论(0) 推荐(0) 编辑
摘要: 解释: 2.运行时创建的类是可以添加实例变量,调用class_addIvar函数.但是的在调用objc_allocateClassPair之后,objc_registerClassPair之前,原因同上. 阅读全文
posted @ 2017-02-25 20:55 昊天科技 阅读(1373) 评论(0) 推荐(0) 编辑
摘要: 首先了解weak是一种非拥有关系,属性所值对象销毁时,属性值会情况(nil). Runtime对注册的类会进行布局,对于weak对象会放入hash表中,用weak指向的内存地址作为key,当对象引用计数器为0时会dealloc,假如weak指向的对象内存地址为a,那么就会以a为键,在这个weak表中 阅读全文
posted @ 2017-02-25 20:54 昊天科技 阅读(1463) 评论(0) 推荐(0) 编辑
摘要: 1) 在protocol中视同property只会生成setter getter方法声明,我们使用属性的目的是希望遵守我协议的对象能实现该属性 2) 在category使用@property也是只会生成setter,getter方法的声明,如果我们挣得需要给category增加属性的实现,需要借助于 阅读全文
posted @ 2017-02-25 20:49 昊天科技 阅读(457) 评论(0) 推荐(0) 编辑
摘要: @property有两个对应的词,@synthsize @dynamic如果都没写,那么默认就是@synthsize var = _var; @synthsize 如果没有手动实现setter getter方法那么自动生成 ,自动生成_var变量 @dynamic告诉编译器:属性的setter,ge 阅读全文
posted @ 2017-02-25 20:48 昊天科技 阅读(1589) 评论(0) 推荐(0) 编辑