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))

解决方案出自:http://blog.csdn.net/likendsl/article/details/37906999

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、截取字符串”20 | http://www.baidu.com”中,”|”字符前面和后面的数据,分别输出它们 ...
    强子ly阅读 3,027评论 8 46
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,387评论 0 6
  • 她最好有点复古感,像保尔柯察金的冬妮娅,又像九十年代推着自行车走在林荫路下的大学女生。 她爱读书,手里捧着林清玄的...
    诗人夏二狗阅读 151评论 0 0
  • 文/图/谷穂风致 现在经常说,选择比努力更重要。但是,具体怎么选择呢? 人的一生中,掌控好几个关键点:考大学、择业...
    谷穗风致Echo阅读 8,302评论 33 42
  • 三十一、带我走 风突然改变方向 缠住我的双脚 风说:带我走 三十二、诗人 你老了,开始回忆了 你成熟了,诗更从容了...
    梅凉阅读 284评论 7 13