0
我有3個廠景,視圖2和圖3。我有鑑於2修改數據的問題,當我在視圖3.下面是我能想到的辦法的最佳實踐
- 拉導航控制器棧,識別由iskindof測試的視圖,取變量,並改變它
- 視圖2從的appdelegate獲得的值,並從圖3我只是在的appdelegate更新它和它的工作原理
- 使用通知中心並更改數據。
這是最建議的方式來改變我的情況的數據。
的數據僅僅是一個改變設置值的對象的陣列。 。
我有3個廠景,視圖2和圖3。我有鑑於2修改數據的問題,當我在視圖3.下面是我能想到的辦法的最佳實踐
這是最建議的方式來改變我的情況的數據。
的數據僅僅是一個改變設置值的對象的陣列。 。
選項(1)是的讓你頭疼,如果你做任何進一步的重構上下行風險最高的辦法。它也很煩瑣,所以存在犯錯的風險,然後不得不花費更多時間來修復它們。出於這些原因,最好避免它。
之間選擇(2)和(3)容易引起讀者的全局意識形態爭論,封裝等
有很多關於(3),使用UINotificationCenter可說的,即使你不採用認爲全局是邪惡的。它鼓勵你清楚地思考你正在採用的通信協議,它可以防止應用程序委託中的混亂,它往往是重構最穩定的,如果你想在其他地方重新使用視圖,你有一個開始等
特別是與精心設計的通知,你經常會發現,如果你進一步重構的路線,你將有少得多的工作 - 甚至沒有 - 讓你的代碼運行的權利。
[什麼是視圖控制器之間溝通的最佳方式是什麼?(http://stackoverflow.com/q/569940/194544) – beryllium 2012-03-26 07:52:07