私の質問は簡単です: これらは大丈夫ですか:
manager.delegate = self;
[manager startUpdatingLocation];
return self;
-init メソッドの最後の行として?
その時点でオブジェクトが構築されているはずですが、これについては悪い予感がします。
また関連 - これを実行しても問題ない場合、の実行を延期する必要が-startUpdatingLocation
ありますか?
私の質問は簡単です: これらは大丈夫ですか:
manager.delegate = self;
[manager startUpdatingLocation];
return self;
-init メソッドの最後の行として?
その時点でオブジェクトが構築されているはずですが、これについては悪い予感がします。
また関連 - これを実行しても問題ない場合、の実行を延期する必要が-startUpdatingLocation
ありますか?
これは絶対に問題ありません。Init は、これを行う有効な方法です。
遅延する必要があるのは、コードの実行でさらに初期化されるものを使用する必要がある場合だけです。たとえば、ビューに変更を加えるには、viewWillAppear:
またはviewDidLoad
ビューが init メソッドで適切に設定されないため、それを行う必要があります。
ただし、この例では、後でオブジェクトに設定されるものは何も使用していないため、init メソッドを使用しても問題ありません。
[super init]
ただし、オブジェクトが適切に設定されるように、常に最初に実行することを忘れないでください。
大丈夫です。
通常の場合と同様に、同じことを行います。すなわち
あなたがここでやっているのと同じこと。