2013-03-15 40 views
0

我正在做我的第一個iphone應用程序,並有一點誤解。如何保持視圖控制器在異步任務中處於活動狀態?

我有一個菜單視圖控制器和遊戲視圖控制器。我希望我的菜單視圖控制器能夠從一個可以傳遞到我的遊戲視圖控制器的Web服務異步獲取一些天氣數據。

在菜單之間的塞克遊戲我的想法是這樣的:

if user presses playgame BEFORE weather data loaded 
    store a reference to the game view Controller and send it the data later. 
else 
    we already have the weather data so we'll just set send that now. 

不過,我並沒有意識到,一旦玩家過渡到遊戲視圖控制器,在菜單收到氣象數據的功能視圖控制器將停止發射!

有沒有一種方法可以保持一個視圖控制器'活着'並在後臺運行,而播放器在另一個視圖控制器中?

+0

也許這個函數應該更好地移動到控制器之外來分離**模型** class – Vladimir 2013-03-15 18:39:46

+0

@Vladimir如果我將它帶入一個單獨的模型類,我需要在我的遊戲視圖控制器中創建該類的一個實例嗎? (而不是開始加載菜單中的數據,這更加理想。)(謝謝你的迴應!) – Holly 2013-03-15 19:15:54

回答

2

因此,假設您使用nsurlconnection來獲取數據,您可以將連接的委託設置爲遊戲視圖控制器,併爲您處理數據。

更理想的做法是把天氣變成不同的類,擴展nsobject並實現nsurlconnectiondelegate協議,並將該類作爲數據傳遞給遊戲視圖控制器,因爲同一個類可以在理論也包含所有的天氣數據。

相關問題