如何为异步任务保持视图控制器的活动状态?

时间:2013-03-15 18:32:41

标签: ios objective-c

我正在制作我的第一部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.

但是我没有意识到,一旦玩家转换到游戏视图控制器,在菜单视图控制器中接收天气数据的功能就会停止射击!

当玩家在另一个视图控制器中时,有没有办法让一个视图控制器“活着”并在后台运行?

1 个答案:

答案 0 :(得分:2)

所以假设您正在使用nsurlconnection来获取数据,您可以将连接的委托设置为游戏视图控制器,并为您处理数据。

更理想的方法是将天气分成不同的类,扩展nsobject并实现nsurlconnectiondelegate协议,然后将该类作为数据传递给游戏视图控制器,因为同样的类在理论上可以包含所有天气数据。