我需要知道這是否爲保留週期。我在泄漏儀器中運行了這個,我沒有發現任何泄漏。是否將子視圖添加到視圖中的保留週期?
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;
我認爲沒有,它不應該保留 –