【发布时间】:2011-12-16 10:00:05
【问题描述】:
我正在尝试初始化 CMMotionManager,以便开始更新并创建参考姿态矩阵,然后当我通过情节提要单击按钮时,我会显示不同的屏幕(位于视图控制器中)并且我想使用参考姿态矩阵和来自运动管理器的其他读数,但如果我做一个简单的检查,看看它是否准备好了,它说它没有(甚至认为它在前一个屏幕上已经准备好了)。
所以我进行了一些研究,发现一些斯坦福笔记说它是一种全球资源,因此可以使用委托或类,这让我开始思考。
如果我使用委托,那么从技术上讲,资源的所有者正在为我执行操作,对吗?所以这并不意味着它是全球性的。
课程呢?我尝试实现一个 MotionManager 类,但我仍然没有在第二个屏幕上得到任何读数......我只是没有在新屏幕上再次初始化它,因为我不想同时运行多个实例。
为了解决我的问题,我还假设我可以在主实例中初始化一次,保存姿态,在 segue 转换中将其传递给下一个,然后重新初始化运动管理器,因此我只有 1 个实例(或关闭屏幕上旧的会消失)。
但我不希望这样,因为用户可能会立即在屏幕上单击,并且运动管理器确实需要一些时间来初始化(或者这就是我注意到的)。
提前感谢您提供的任何帮助。
编辑:
好的,我尝试了委托方法,但我仍然无法从第二个窗口的设备管理器中读取。我想到的是,当我进入第二个窗口时,xcode 可能会自动释放我的运动管理器实例......(CMMotionManager)。
有人知道如何检查吗?
【问题讨论】:
标签: iphone xcode4.2 core-motion