1

私の質問は簡単です: これらは大丈夫ですか:

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

-init メソッドの最後の行として?

その時点でオブジェクトが構築されているはずですが、これについては悪い予感がします。

また関連 - これを実行しても問題ない場合、の実行を延期する必要が-startUpdatingLocationありますか?

4

2 に答える 2

2

これは絶対に問題ありません。Init は、これを行う有効な方法です。

遅延する必要があるのは、コードの実行でさらに初期化されるものを使用する必要がある場合だけです。たとえば、ビューに変更を加えるには、viewWillAppear:またはviewDidLoadビューが init メソッドで適切に設定されないため、それを行う必要があります。

ただし、この例では、後でオブジェクトに設定されるものは何も使用していないため、init メソッドを使用しても問題ありません。

[super init]ただし、オブジェクトが適切に設定されるように、常に最初に実行することを忘れないでください。

于 2012-04-27T09:27:44.933 に答える
1

大丈夫です。

通常の場合と同様に、同じことを行います。すなわち

  • あなたはそれを初期化します
  • デリゲートを設定する
  • 次に、場所の更新を開始します。

あなたがここでやっているのと同じこと。

于 2012-04-27T09:27:20.050 に答える