init中的startUpdatingLocation

时间:2012-04-27 09:18:13

标签: iphone objective-c ios geolocation core-location

我的问题很简单: 可以这样:

manager.delegate = self;
[manager startUpdatingLocation];
return self;

作为-init方法的最后几行?

到那时应该构建对象,但是我对此感觉不好。

同样相关 - 如果不能这样做,我应该推迟执行-startUpdatingLocation并花费多少时间?

2 个答案:

答案 0 :(得分:2)

这绝对没问题。 Init是一种有效的方法。

您需要延迟的唯一时间是您需要在执行代码时使用能够进一步实现的东西。例如要在viewWillAppear:viewDidLoad中对视图进行更改,因为视图将无法在init方法中正确设置。

在这个例子中,你没有使用稍后在你的对象中设置的任何东西,所以可以使用init方法。

始终记得首先运行[super init],以便正确设置对象。

答案 1 :(得分:1)

没关系。

与正常情况一样,你也这样做。即

  • 你启动它
  • 设置代理
  • 然后开始更新位置。

你在这做同样的事情。