我有一个视图控制器,我发起了两个任务。一个用于获取位置更新,另一个用于获取加速度计和陀螺仪传感器数据更新。我已将这两个内部工作分为两个单独的类,并通过委托从视图控制器中检索数据。
我遇到了一个问题。比如,我在视图控制器中启动位置和运动传感器数据获取,然后我离开所述视图控制器。这反过来会破坏在那里创建的对象,当我返回到视图控制器时,它全部被重置。
即使我离开视图控制器,我也希望这些启动的操作保持活动状态。并坚持到我回来。我该如何应对这种情况?
答案 0 :(得分:0)
有几种方法可以解决这个问题。您可以使执行这些函数的类成为永远不会被销毁的单例,并且您的任何类都可以访问。另一个不太好的IMO选项是将对象从第一个视图控制器传递给第二个视图控制器。
答案 1 :(得分:0)
单身人士可以解决这个问题。检查一下post 这样,只要你启动一个管理器,无论视图控制器状态如何,它都将保持活动状态。
答案 2 :(得分:0)
从第二个视图控制器返回时,您不应启动第一个视图控制器(启动位置和运动传感器数据的位置)。这可以通过两种方式完成。
其他方式:(如果实例化您的第一个视图控制器)
声明位置&运动传感器数据变量全局在appdelegate中,并在第一个视图控制器中为它们赋值。这样做可以在任何地方使用这些值。