2016-04-03 6 views
0

これを確認する必要があります。デリゲートとして参照されるオブジェクトの範囲

私が持っているこのようなコード

@implementation A 
    (void) read 
    { 
     NSURLConnection *conn = 
      [[NSURLConnection alloc] initWithRequest:request delegate:self]; 

     ...  
    } 
@end 

@implementation B 
    (void) someFn() 
    { 
     A anObject = [A alloc] init] 
     [anObject read] 
    } 

@end 

それはNSURLConnectionへのデリゲートとして渡されているため、接続が終了するまでanObject有効なオブジェクトのでしょう?

答えて

0

ARCを使用している場合は、それは可能でしょう。

Aは、参照を保持しているものが非常に接続しているため、接続が終了すると解放されます。

次に、Aの別の参照を実装してBにします。

anObjectsomeFn()で未使用で、内部参照が生きている必要がある場合は、内部参照がなくなるまで有効です。

関連する問題