1

我的问题很简单:这些可以吗:

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

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

到那时应该构造对象,但是我对此有一种不好的感觉。

也相关 - 如果这样做不合适,我应该推迟执行-startUpdatingLocation以及延迟多长时间?

4

2 回答 2

2

这绝对没问题。Init 是执行此操作的有效方法。

唯一需要延迟的时间是当您需要使用在代码执行过程中进一步初始化的东西时。例如,要更改视图,您应该在 init 方法中正确设置视图,viewWillAppear:否则viewDidLoad视图将无法正确设置。

但是,在此示例中,您没有使用稍后在对象中设置的任何内容,因此可以使用 init 方法。

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

于 2012-04-27T09:27:44.933 回答
1

没关系。

和正常情况一样,你也这样做。IE

  • 你初始化它
  • 设置委托
  • 然后开始更新位置。

你在这里做同样的事情。

于 2012-04-27T09:27:20.050 回答