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存储的是结构体的地址
时间: 2025-01-01 05:06:57