iPhone Accelerometer崩溃应用程序

时间:2009-06-18 19:01:30

标签: iphone accelerometer

我有一个基于导航的应用程序,我想使用加速度计来检测抖动并导致滚动视图滚动到下一页。我已将加速度计代码添加到我的scrollView的视图控制器中,并且效果很好;摇动调用我的页面更改方法。但是当我从导航堆栈中卸载scrollViewController时,应用程序崩溃了。

我在scrollViewController的viewDidLoad方法中设置加速度计,并响应加速度计中的抖动:didAccelerate:delegate方法。

当scrollViewController被取消分配时,应用程序崩溃。

我错过了什么?

由于

4 个答案:

答案 0 :(得分:3)

在另一个帖子中找到答案:

How do you release a shared accelerator instance on the iPhone?

当我的scrollView取消分配时,我需要将加速度计的委托设置为nil。加速度计是一个单例,它保留了对它的委托的引用,在本例中是我的scrollViewController。当我的scrollViewController弹出堆栈时,引用被挂起,崩溃了他的应用程序。

感谢Phil Nash的回答!

答案 1 :(得分:0)

加速度计的更新率是多少?如果它太高,我听说过发生了奇怪的事情。

答案 2 :(得分:0)

我无法发表评论,所以我不得不在答案中发布。你可以显示你的新视图页面加载方式。正如我所理解的那样,一旦你动摇它,它就会转向一个新观点。您能否显示对新视图的呼叫。

答案 3 :(得分:0)

简单:通过设置委托方法,您告诉另一个对象(加速度计)滚动视图存在。

但是当它不复存在时你是否告诉它,所以它不能向它发送任何消息?

我猜不是。你需要再次设置委托,这次是零。