Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/117.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何使视图控制器在异步任务中保持活动状态?_Ios_Objective C - Fatal编程技术网

Ios 如何使视图控制器在异步任务中保持活动状态?

Ios 如何使视图控制器在异步任务中保持活动状态?,ios,objective-c,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

我正在制作我的第一个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.
然而,我没有意识到,一旦玩家切换到游戏视图控制器,在菜单视图控制器中接收天气数据的功能将停止启动


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

因此,假设您正在使用nsurlconnection获取数据,您可以将连接的委托设置为game view控制器,并让该控制器为您处理数据


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

该函数可能应该是最好移动到控制器外部以分离模型class@Vladimir如果我把它放到一个单独的模型类中,我需要在我的游戏视图控制器中创建该类的实例吗?(与开始在菜单中加载数据相比,这更理想。)(感谢您的回复!)