次のように、オブジェクトへの参照をインスタンス変数に保持せずNSURLConnection
に、非同期リクエストでオブジェクトを作成できますか?applicationDidFinishLaunching:
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
NSURLConnection *localVariable = [[NSURLConnection alloc] initWithRequest:req delegate:self];
}
ARCを使用していない場合、これは機能するはずです。オブジェクトへの参照はもうありませんが、保持カウントが +1 で終了するためNSURLConnection
、 のようなデリゲート メソッドの 1 つでオブジェクトを解放するまで、オブジェクトはその役割を果たし、割り当て解除されません。connectionDidFinishLoading:
applicationDidFinishLaunching:
ただし、問題は次のとおりです。これは悪いスタイルと見なされますか? この種のオブジェクト関係でインスタンス変数を常に維持する必要がありますか? これを ARC で機能させるにはどうすればよいですか? 結局、localVariable
範囲外になると、ARC は myNSURLConnection
の割り当てを解除するのではないかと思います。