2011-06-28 23 views
0

我正在開發一款iOS應用程序,它是計算器以跟蹤特定遊戲的得分。遊戲中有許多視圖控制器。我將創建一個「玩家」對象並創建該玩家的4個實例。現在在Objective-C方面,我將如何讓這些實例在幾個視圖控制器之間保持活躍狀態​​?例如,我應該創建一個球員陣列並隨着視圖的進展不斷將數組從一個VC傳遞到另一個VC?Objective-C中的對象實例 - iPhone/iPad

謝謝,

回答

2

使用單例類,你會得到同一個對象的任何地方。你不需要每一次創建。它創建一次,並且你使用應用程序整個。

+0

你知道任何優秀的Singleton類教程嗎?這看起來非常適合評分管理類 – darksky

+0

http://getsetgames.com/2009/08/30/the-objective-c-singleton/ – edo42

1

您可以在AppDelegate中創建4個實例。

然後,這4個實例將被所有視圖控制器使用共享AppDelegate對象訪問。

如有任何困難,請告知我。

乾杯。

+0

謝謝Nishant。我如何能夠使用App Delegate從其他類訪問它們?我只是在每個類中實例化一個AppDelegate對象,然後按照以下方式做一些事情:appDelegate.object1? – darksky

+0

您可以像下面一樣創建對象。在.m文件中「appDelegate =( *)[[UIApplication sharedApplication] delegate];」.....然後在.h文件中 * appDelegate;「 –

+0

[((MYApplicationDelegate *)[[UIApplication sharedApplication] delegate]) – edo42

1

只是一個快速的想法,傳遞陣列玩家可以解決您的問題。但在視圖控制器之間共享對象最快捷的方法是使用Application Delegate,因爲您可以簡單地在任何地方訪問應用程序委託。

0

你可以使用ApplicationDelegate來存儲你的進度。當你移動到另一個視圖時,在- (void) viewWillDisappear:(BOOL)animated方法中更新ApplicationDelegate變量,並在viewLoad方法的另一個視圖中從委託變量中獲取更新後的值。