比方說,你必須有一個的viewController:iOS的:簡單的保留週期
@property (strong) object* A
@property (strong) object* B
然後故意創建在somepoint一個保留週期,沒有定時器,這樣
self.A.someStrongProperty = self //retain cycle
問題:假設包含這些屬性的VC被釋放,保留週期或內存泄漏是否會持續?
比方說,你必須有一個的viewController:iOS的:簡單的保留週期
@property (strong) object* A
@property (strong) object* B
然後故意創建在somepoint一個保留週期,沒有定時器,這樣
self.A.someStrongProperty = self //retain cycle
問題:假設包含這些屬性的VC被釋放,保留週期或內存泄漏是否會持續?
在上面發佈的代碼中,沒有保留週期。
保留週期可能是self.A = self;
或更可能是self.A.someStrongProperty = self
。
編輯:在上面編輯的情況下,假設self
是一個視圖控制器,它不會因保留週期而釋放。您應該將您的someStrongProperty
更改爲weak
屬性,這將防止保留週期。
...這是一個簡單的任務,沒有保留週期。 – Kevin
對不起,讓我改述 –