![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Objective-C
文章平均质量分 82
pengquanhua
这个作者很懒,什么都没留下…
展开
-
block使用技巧
1.为常用的块类型创建typedeftypedef return_type (^block_type) (parameters);block_type是块的类型名typedefint(^EOCCompletionHandler) (NSData*data, NSTimeInterval duration,NSError*error); //为块创建ty原创 2016-03-09 14:18:13 · 429 阅读 · 0 评论 -
Objective-C内存管理
1.引用计数Objective-C使用引用计数来管理内存,对象有个计数器,用以表示当前有多少个事物想令此对象继续存活下去。NSObject协议声明了下面三个方法用于操作计数器,以递增或递减其值:retain 递增保留计数release 递减保留计数autorelease 稍后清理“自动释放池”时,再递减保留计数。对象创建出来之后,对象的保留计数至少为1。若想令某对象原创 2016-03-09 16:33:44 · 841 阅读 · 0 评论 -
Objective-C内存管理注意事项
1.在delloc方法中只释放引用并解除监听1.1在delloc方法中释放对象所拥有的引用并解除监听(1)ARC会通过自动生成的.cxx_destruct方法在delloc中添加释放代码。对象所拥有的其他非Objective-C对象也要释放。比如CoreFoundation对象。(2)在delloc要把原来配置过的观测行为都清理。如果用NSNotification给此对象订阅过某种通知原创 2016-03-09 17:17:16 · 352 阅读 · 0 评论 -
Objective-C运行时
1.Objective-C对象描述Objective-C对象所使用的数据结构定义在运行期程序库的头文件里,id类型本身也定义在这里:typedefstruct objc_object { Class isa;} *id;id是指向objc_object结构体的指针。每个对象结构体的首个成员是Class类的变量。该变量定义了对象所属的类,通常称为“isa”指针。原创 2016-03-10 15:15:59 · 279 阅读 · 0 评论 -
GCD详细介绍
GCDGCD是异步执行任务的技术。只需将想执行的任务追加到适当的Dispatch Queue中,GCD就能生成必要的线程并计划执行任务。1 Dispatch Queue:执行处理的等待队列Disptatch Queue按照追加顺序执行处理任务,但在执行处理又分为:Serial Dispatch Queue和Concurrent Dispatch Queue。Serial原创 2016-03-10 15:23:06 · 243 阅读 · 0 评论 -
GCD使用技巧
1.多用派发队列,少用同步块1.1 编写atomic属性的访问方法(1)使用同步块- (NSString*)someString { @synchronized(self) { return _someString; }}- (void)setSomeString:(NSString*)someString {原创 2016-03-10 15:25:37 · 354 阅读 · 0 评论 -
Objective-C之Category
Category的主要作用是在不改变原有类的前提下,动态地给这个类添加一些方法。在 Objective-C 中的具体体现为:实例(类)方法、属性和协议。使用场景给现有的类添加方法;将一个类的实现拆分成多个独立的源文件;声明私有的方法。注意事项: 1.不能覆写原有类的方法 原因:将分类方法加入类中是在运行期系统加载分类时完成的。运行期系统把分类中所原创 2016-03-11 09:55:04 · 395 阅读 · 0 评论 -
Objective-C之block详细介绍
1.定义闭包是一个允许访问自由变量(局部变量)的匿名函数。自由变量:跟block声明在同一个作用域内的局部变量。2.语法结构返回类型 (^块名称)(参数列表)int (^myblock)(int a, int b) ; //声明一个块类型和块名,myblock为块名,块类型为int (^)(int a, int b);myblock= ^(int原创 2016-03-09 14:06:21 · 265 阅读 · 0 评论