在Xcode 4中使用「Tab Bar」模板,每個ViewController都是自動創建的,所以我沒有機會在創建ViewController時設置任何屬性。我希望每個ViewController都可以訪問一個對象(FMDB的FMDatabase的一個實例)。你如何在iOS上的ViewControllers之間傳遞一個對象?
有許多有關這個已經在計算器上的問題,但也有一些假設你正在創建VC的手,和其他人建議使用的AppDelegate作爲調解人:
MyAppDelegateClass *appDelegate = [[UIApplication sharedApplicaton] delegate];
myLocalProperty = appDelegate.someDataModelProperty;
上面似乎而是對我來說「哈克」。有沒有更好的方法來訪問多個ViewController中的單個對象?
即使使用Tab Bar模板,您也將擁有視圖控制器的自定義子類。他們很可能會'FirstViewController'和'SecondViewController'。一探究竟。您可以在那裏進行更改。 – 2011-06-03 13:37:22
我也想回答這個問題。好的時機! – Legolas 2011-06-03 13:39:57
我不認爲這是「hacky」,如果它不需要根據視圖進行更改,則比將其傳遞給每個子視圖的控制器更容易。最好使它只讀,以便隨後的對象可以對其進行修改,但不能偷偷替換它,如果這對您正在處理的數據有效。 – 2011-06-03 22:30:18