block的总结

1.block循环引用(retain)

1》如果没有对block进行copy操作,block就存储于栈空间

2》如果对block进行copy操作,block就存储于堆空间

3》如果block存储于栈空间,不会对block内部所用到的对象产生强引用

4》如果block存储于堆空间,就会对block内部所用到的对象产生强引用,会造成循环引用。

解决方案:

(1)非ARC:_block

 (2)ARC:_weak\_unsafe_unretained

2.block本质是指向结构体的指针。block存储的是结构体的地址

 

posted @ 2014-11-18 19:00  此刻@当初  阅读(128)  评论(0编辑  收藏  举报