我需要知道这是否为保留周期。我在泄漏仪器中运行了这个,我没有发现任何泄漏。是否将子视图添加到视图中的保留周期?
class myClass: UICollectionViewCell {
var aView = UIView()
func test() {
self.addSubView(aView)
}
}
我需要知道这是否为保留周期。我在泄漏仪器中运行了这个,我没有发现任何泄漏。是否将子视图添加到视图中的保留周期?
class myClass: UICollectionViewCell {
var aView = UIView()
func test() {
self.addSubView(aView)
}
}
此代码不会导致保留周期,但它在实际中也不起作用。
视图需要用(合适的)框架进行初始化。
是否有一个原因,它不会引起保留周期?我对此感到困惑。 –
当两个对象彼此保持强关联时,会发生保留周期。在你的例子中有一个强大的参考,从超视图到子视图,但不是相反的方式 – vadian
我有一个nub时刻.. omg。谢谢。 –
如果你想在Swift中创建保留周期(我希望只是为了学习),你应该总是提出一个实例函数的引用意味着你也引用了这个实例。当分配给一个变量时,你正在创建一个强大的参考。确保在封闭包裹这种提法与弱参考实例或确保变量手动设置为零,一旦你与他们做
谢谢。我已经知道了。但由于某种奇怪的原因,今晚我坐在荧幕上,脑子里一片空白。并不知道为什么它不会导致保留周期。我一直在编码太多。我再次明白。谢谢 –
没有也不会增加保留周期
本例将帮助你获得更好的主意
@interface TTParent : NSObject
@property (atomic) NSMutableArray *children;
@end
@implementation TTParent
@end
@interface TTChild : NSObject
@property (atomic) TTParent *parent;
@end
@implementation TTChild
@end
在其它的类
TTParent *parent = [[TTParent alloc] init];
parent.children = [[NSMutableArray alloc] init];
for (int i = 0; i < 10; i++) {
TTChild *child = [[TTChild alloc] init];
child.parent = parent;
[parent.children addObject:child];
}
它会增加零售周期,因为Parent和孩子有相互
的强引用以避免这个
@property (atomic,weak) TTParent *parent;
我认为没有,它不应该保留 –