IOS 避免self循环引用的方法的实例详解
2019/7/9 22:51:40
本文主要是介绍IOS 避免self循环引用的方法的实例详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
IOS 避免self循环引用的方法的实例详解
示例代码:
// - weak & strong #define myWeakify(VAR) \ try {} @finally {} \ __weak __typeof__(VAR) VAR##_myWeak_ = (VAR) #define myStrongify(VAR) \ try {} @finally {} \ __strong __typeof__(VAR) VAR = VAR##_myWeak_ #define myStrongifyRetVIfNil(VAR, RET) \ try {} @finally {} \ __strong __typeof__(VAR) VAR = VAR##_myWeak_;\ if(VAR == nil) return RET #define myStrongifyRetNIfNil(VAR) \ try {} @finally {} \ __strong __typeof__(VAR) VAR = VAR##_myWeak_;\ if(VAR == nil) return
使用如下:
- (void)handleFromVC { NSArray *viewControllers = self.navigationController.viewControllers; @myWeakify(self); [viewControllers enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) { @myStrongifyRetNIfNil(self); //代码 }]; }
如有疑问请留言或到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!
这篇关于IOS 避免self循环引用的方法的实例详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12Axios库资料:新手入门必读教程
- 2024-11-11Axios库项目实战:新手入门教程
- 2024-09-29Axios库教程:初学者必备指南
- 2024-08-29Axios库资料:新手入门指南与基本使用教程
- 2024-03-14system bios shadowed
- 2024-03-14gabios
- 2024-02-07iOS应用提交上架的最新流程
- 2024-02-06打包 iOS 的 IPA 文件
- 2023-12-07uniapp打包iOS应用并通过审核:代码混淆的终极解决方案 ?
- 2023-11-25uniapp IOS从打包到上架流程(详细简单) 原创