0
我嘗試封裝大多數操作我的異步活動,而且往往我有啓動其他操作等操作......如何實現迅速關閉單向引用
,我現在面臨的問題當我參考原始操作時,可以在連續操作完成之前取消分配。如果我有weak self
,weak me = self
或(災難性地)unowned me = self
到位,我使用的關閉失敗;但如果沒有他們使用self
,那麼這兩個操作都不會釋放(內存泄漏)。
是否有可能在閉包內保持引用活着而不創建雙向循環引用情形?
我明白了。我的問題是關於你的回答中的'如果不是'部分。如果我試圖阻止自己在將來沒有永久分配到內存中,那麼該怎麼辦?因爲我正在使用ops,所以它們會耗盡並終止,除非我創建了一個perm鏈接,但我在問是否有辦法避免這種情況。 –
我想要原始操作進行環聊直到完成它,然後才能釋放它。 –
@JamesLingo在這種情況下,你將不得不使用強大的自我保持「操作」。這裏沒有別的選擇。只有在這種情況下,自我的一生纔會延續到塊完成後。另請注意,無論「Self」是否仍然存在或已在同一時間內被釋放,塊最終都會被執行。 – Rahul