JsW*_*JsW 5 objective-c ios swift
例如:
// CustomViewClass
- (void)showOnView: (UIView*)view {
[view addSubview: self.customView];
}
Run Code Online (Sandbox Code Playgroud)
然后在另一个类(如视图控制器)中调用此方法viewDidLoad.
- (void)viewDidLoad {
[super viewDidLoad];
[self.customViewClass showOnView: self.view];
}
Run Code Online (Sandbox Code Playgroud)
我将视图控制器的视图传递给CustomViewClass上面.
我的问题是: 它会导致某种保留周期吗?
这些视图是通过弱参数引用的吗?
或者它很好.
如果有人在Swift和Objective-C中解释它,将非常感激.
什么是保留周期? - 这是两个对象保持彼此引用并被保留的条件,它创建了一个保留周期,因为两个对象都试图相互保留,从而无法释放.
在这种情况下,self.customViewClass请保留对引用的引用,self.view但self.view不保留任何引用self.customViewClass.哪个self.customViewClass是参考self,不是self.view.
所以当然,它不会导致保留周期
不相信我?- 通过尝试在dealloc方法内部记录某些内容来自行检查.
解雇后CustomViewController,如果dealloc调用内部代码并记录某些内容,则表示此处没有保留周期.如果不是,则导致保留周期.
例如
- (void)dealloc {
NSLog(@"BOOM RIGHT ANSWER!!!");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |