block
实际上是:指向结构体的指针 。默认情况下, block
的内存是在栈中, 它不会对所引用的对象进行任何操作;如果对block
做一次copy
操作(Block_copy(block);
), block
的内存就会在堆中,它会对所引用的对象做一次retain
操作,非ARC
: 如果所引用的对象用了__block
修饰, 就不会做retain
操作;ARC
: 如果所引用的对象用了__unsafe_unretained
\ __weak
修饰, 就不会做retain
操作.
Objective-C的block内存管理
最新推荐文章于 2022-03-09 00:21:38 发布