2010-10-19 71 views
0

在我的iPhone開發中,我總是使用全局變量來處理很多東西。我新作中的風格指南表示我們應該使用上下文參數。所以我需要弄清楚這意味着什麼以及如何去做。iPhone - 背景參數與全局變量

任何人都可以更詳細地解釋這意味着什麼 - 或點我一些代碼,以這種方式工作?

謝謝

+0

豈不是最好問問你的新同事,他們的意思是通過一個特定的概念? – 2010-10-19 15:56:29

+0

我做了,但我真正需要的是一個代碼示例,他們擁有的東西不是iPhone - 但iPhone就是我所知道的。 – 2010-10-19 16:09:27

回答

0

這聽起來像是在命名中可能會有衝突。從Context Parameters的這個定義中,他們似乎關心在會話期間存儲全局狀態。也許,你可以在NSUserDefaults中使用'contextParameters'NSDictionary來存儲你的全局變量。如果您的全局變量需要全部導出(爲了調試,爲了節省狀態),從長遠來看這可能是有用的。

+0

一般的想法是,如果你有一個變量,應該有一種方法來創建它不止一個。例如,如果你的視圖控制器調用模型對象來獲取它用於填充視圖的信息,那麼應該有一種方法來擁有多個模型對象。我得到了很多。我沒有得到的是如何構建我的整體計劃,使事情以這種方式工作。我習慣於擁有一個單身模型對象,其中所有東西都存在。這不會起作用了。 – 2010-10-19 18:07:41

+0

不知道我的理解,但在編譯時已知您的模型對象的結構?它可以表示爲NSManagedObject並存儲在SQLite存儲中,例如?如果是這樣,那麼您可以使用數據模型並使用此數據模型的實例填充您的商店。換句話說,Core Data是值得探索的東西嗎? – westsider 2010-10-20 18:39:59

0

風格指南可能只是一般說,讓您的變量作用域確定爲根據其使用的上下文。例如,如果在類實例的生命週期中您需要一個變量,則將其變爲該類的成員變量。如果它是應用程序生命週期所需的東西,然後將其放在應用程序範圍內的對象中(但不是全局變量)。

0

如果你使用一個全局對象(這可能主要是包含所有你以前的全局變量大C結構),而不是單獨的裸全局變量,你也許能夠複製的對象,序列化,以保存或創建統一核心轉儲,最終添加setter/listeners等。

如果您打破全局對象,基於共享範圍或實例/結構變量的分組所需的上下文,那麼分數對象可能最終是好的候選人爲您更好的重用性,可擴展代碼的MVC重新分區的M個部分,等