最近使用的block一点注意事项
(void(^)(POPAnimation *anim, BOOL finished)) block
blcok写在了属性中.
@property (nonatomic,strong) void(^monitoringBlock)(CMTime time);
【最近使用的block一点注意事项】在多线程环境下(block中的weakSelf有可能被析构的情况下),需要先将self转为strong指针,避免在运行到某个关键步骤时self对象被析构。
文章图片
Paste_Image.png
__weak __typeof(self)weakSelf = self;
AFNetworkReachabilityStatusBlock callback = ^(AFNetworkReachabilityStatus status) {
__strong __typeof(weakSelf)strongSelf = weakSelf;
strongSelf.networkReachabilityStatus = status;
if (strongSelf.networkReachabilityStatusBlock)
{
strongSelf.networkReachabilityStatusBlock(status);
}
};
推荐阅读
- JS中的各种宽高度定义及其应用
- 由浅入深理解AOP
- 【译】20个更有效地使用谷歌搜索的技巧
- 人生感悟记#环境仪器宋庆国成长记#072
- mybatisplus如何在xml的连表查询中使用queryWrapper
- MybatisPlus|MybatisPlus LambdaQueryWrapper使用int默认值的坑及解决
- MybatisPlus使用queryWrapper如何实现复杂查询
- “精神病患者”的角度问题
- 放下心中的偶像包袱吧
- iOS中的Block