我曾經爲iPhone開發過一些經驗,但完全是自學成才,並且試圖改進我的做法。這個問題可能很適合編程。如何在Objective-C中的對象實例之間維護數據?
什麼是最好的方式(或者是可能的),以維持實例變量與所共有的一個對象的所有實例的值?是否有可能在不同的地方創建,修改和檢查對象及其屬性?
說我有一個跟蹤用戶掃描屏幕的次數的對象。比如說,是否可以在我的AppDelegate中分配該對象,然後以某種方式從不同的視圖控制器中增加該對象的count變量?
是否有可能定義一個實例變量,使得它越過它所屬的對象的所有實例共享?這將解決問題。
在我的AppDelegate爲我所需要的跟蹤,然後只需訪問他們喜歡這個像這樣的事情到目前爲止,我剛剛做出的ivars:
((MyAppDelegate *)[UIApplication sharedApplication].delegate).instanceVariable
但我不知道這是否是一種好的做法。可能不會。
也許這與全局變量或單例有關。或者上面顯示的「共享」前綴,我也在其他地方看到過。我只是尋找建議或看看的方向。我希望這個問題有意義,不是太籠統。
使用委託方法的問題是,作爲視圖控制器的數量增長,你必須保持沿參數傳遞,有時是在傳遞「到」幾個視圖控制器即使值僅實際上是第一個和最後一個視圖控制器關心價值。這是因爲這個原因我傾向於選擇單身人士組一樣的價值觀,這樣我可以存儲和利用價值的,他們最有意義的代碼,而不是必須通過所有的東西的地方。我更喜歡製作至少一個單例,而不是在AppDelegate中填充東西。 – 2010-01-20 07:02:21