-1

我在代碼中面臨View Controller的取消分配問題,然後我閱讀了關於ARC如何工作以及強,弱和未開啓引用的問題。我想知道,爲什麼swift使它變得如此複雜?解除分配問題可以使用與ARC方法稍微不同的方法來解決。這裏是我的方法:ARC的工作方法和強,弱和未開的參考文獻的必要性

我們可以認爲對象之間的依賴關係是有向圖,並且可以使用適當的(使用標誌)BFS搜索(在O(n)中)從當前位置找到圖的unReachable部分,然後我們可以取消初始化圖形中不可達部分的所有實例。然後,我們可以直接與強大的參考一起工作,並且不需要弱引用或無主引用。

我在這裏錯過了什麼嗎?可能是一些性能問題或一些限制。有人可以給我一個強,弱和未被引用的必要性的理由或一些文章/文件,可以詳細解釋上述原因嗎?

+0

你有viewController中使用任何協議嗎? –

+0

是的..我可以用弱和無主的引用來解決它,但問題是不同的,你爲什麼問這個? –

回答

0

這是official documentation,這是一個more entertaining discussion。大多數情況下,ARC可以保持您的方式,只需要一些提示,例如當創建引用自我但在另一個組件的上下文中執行的閉包時。

+0

我實際上經歷過這些文檔..他們只是告訴如何使用這些(強,弱和不顯眼),但不是爲什麼他們正在使用BFS或其他算法在ARC級別上處理它,正如我問到的那樣。如果我錯過了什麼,那麼請告訴我確切的行號或上面的帖子裏,我可以找到我的問題的確切答案..謝謝.. :) –