私がこのようなコードを持っている場合:
-(void) func {
ObjectA* A = [[ObjectA alloc]init];
[something doSomething:blah andDelegate: A];
}
doSomethingの呼び出しがhttp要求呼び出しを行うと仮定すると、デリゲートはサーバーから応答を受信したときにのみ呼び出されます。この場合、遅延が発生します。注:何かはクラスのインスタンス変数です。
'func'を2回呼び出すと、デリゲートで応答を受信する前に、最初に初期化されたAがリークされますか。応答を受信したときにデリゲート関数を呼び出すときに解放操作があると想定します。
私がこれを考える理由は、最初のデリゲートがその役割を終了する前に、「A」の2番目に初期化されたものがデリゲートとして何かに渡された場合です。'A'の2番目に初期化されたものが'A'の最初に初期化されたものに置き換わりますか?