为什么没有自动调用某些委托方法?

时间:2011-05-15 01:38:09

标签: cocoa-touch

为什么没有自动调用某些委托方法?我认为,如果您使用委托方法,它将被自动调用。但事实并非如此,因为我发现了。有关示例,请参阅this post

2 个答案:

答案 0 :(得分:1)

在您提到的情况下,未调用方法didUpdateHeading,因为管理器本身尚未启动。基本上,您的控制器已经在监听通知,但由于尚未启动位置管理器,因此通知尚未存在。一旦指示管理员开始跟踪用户位置,就会调用委托方法。

因此,在您的示例中,您将startUpdatingHeading调用放在中,一旦您的经理启动就会调用该方法。所以,它永远不会被调用。

答案 1 :(得分:0)

要调用委托方法,您需要委托。正如该帖子的答案所说,代码是在委托方法中设置委托。因此,如果委托是在仅在委托存在之后运行的方法内部设置的,则不会发生任何事情。