IOS 避免self循环引用的方法的实例详解

2025-05-29 0 90

IOS 避免self循环引用的方法的实例详解

示例代码:

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18
// - 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

使用如下:

?

1

2

3

4

5

6

7

8

9
- (void)handleFromVC

{

NSArray *viewControllers = self.navigationController.viewControllers;

@myWeakify(self);

[viewControllers enumerateObjectsWithOptions:NSEnumerationReverse usingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {

@myStrongifyRetNIfNil(self);

//代码

}];

}

如有疑问请留言或到本站社区交流讨论,感谢阅读,希望通过本文能帮助到大家,谢谢大家对本站的支持!

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 IOS 避免self循环引用的方法的实例详解 https://www.kuaiidc.com/89587.html

相关文章

发表评论
暂无评论