IOS 避免self循环引用的方法的实例详解
2017-09-18 09:06
656 查看
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循环引用的方法
- **ios 解决Block内用self循环引用的方法**
- iOS 面试题~避免循环引用~解决方法
- ios开发中类方法与self的注意点 与实例方法区别
- Objective-C(十五、内存管理,MRC,循环引用,dealloc和setter方法)——iOS开发基础
- 如何避免在Block里用self造成循环引用
- iOS开发-在类2中引用类1的实例方法(成员方法)
- 如何避免在Block里用self造成循环引用
- 如何避免在Block里用self造成循环引用
- ios开发中类方法与self的注意点 与实例方法区别
- ios开发中类方法与self的注意点 与实例方法区别
- iOS 解决block中self的循环引用问题
- iOS 循环引用 委托 (实例说明)
- ios开发中类方法与self的注意点 与实例方法区别
- IOS 项目中必须避免的几种循环引用的问题
- PHP引用(&)各种使用方法实例详解
- iOS中避免类的循环引用和协议一起使用
- iOS容易造成循环引用的三种场景NSTimer以及对应的使用方法(一)
- IOS中解决ARC类实例间循环引用(Swfit)