内存管理
文章平均质量分 74
Allen_iOS
为了不迟到,最好早走几分钟
展开
-
内存管理(Core Foundation object和Objective - C转换)__bridge,__bridge_retained和__bridge_transfer
使用ARC能帮我们减轻不少内存管理方面的负担,但是arc也有其不足之处。 最近碰到了CFObject和NSObject转换的问题,由于ARC不能管理Core Foundation Object的生命周期,所以在Core Foundation和ARC之间,我们需要使用到__bridge,__bridge_retained和__bridge_transfer三个转换关键字。 根据苹果官方的转载 2015-02-27 10:19:17 · 722 阅读 · 0 评论 -
使用GCD时的内存管理问题
对于dispatch_queue_t 对象来说,我们应该这么写 #if OS_OBJECT_USE_OBJC @property (strong, nonatomic) dispatch_queue_t barrierQueue; #else @property (assign, nonatomic) dispatch_queue_t barrierQueue; #endif转载 2015-03-16 18:45:50 · 2240 阅读 · 0 评论 -
iOS Block在ARC/非ARC下的使用总结
一,明确两点 1,Block可以访问Block函数以及语法作用域以内的外部变量。也就是说:一个函数里定义了个block,这个block可以访问该函数的内部变量(当然还包括静态,全局变量)-即block可以使用和本身定义范围相同的变量。 2,Block其实是特殊的Objective-C对象,可以使用copy,release等来管理内存,但和一般的NSObject的管理方式有些不同,稍后会说明。转载 2015-03-27 14:12:43 · 806 阅读 · 0 评论 -
关于block的那些事
一,前言 在前文《深入浅出Cocoa多线程编程之block与dispatch quene》中我介绍了 block 的一些基本语法以及如何和 GCD 结合的使用示例。block 是在 iOS 4 中引入的新特性,它和 C++ 11 中的 lamba 表达式概念相似,有时候也被称为闭包。经过一段时间的使用,我发现要用对用好 block 还是有不少需要注意的地方,今天就来八一八这些值得注意的事转载 2015-03-16 18:51:44 · 483 阅读 · 0 评论