热门搜索 :
考研考公
您的当前位置:首页正文

iOS block 中野指针

来源:东饰资讯网

在MRC环境下,如果在block中调用了野指针会出现崩溃的情况。比如下面的场景:

mrc 环境下:

在一个view A 走了dealloc后,如果再执行block内代码 bself.hidden = hidden; 会导致崩溃。

__block __typeof__(self) bself = self;

[UIView animateWithDuration:10.2f animations:^{

} completion:^(BOOL finished) {

bself.hidden = hidden;

}];

解决方法:malloc_zone_from_ptr来判断野指针。

#import <malloc/malloc.h>

if (malloc_zone_from_ptr(bself))

Top