我是靠谱客的博主 大胆战斗机,最近开发中收集的这篇文章主要介绍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循环引用的方法的实例详解的全部内容,希望文章能够帮你解决IOS 避免self循环引用的方法的实例详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(77)

评论列表共有 0 条评论

立即
投稿
返回
顶部