私がARCを理解しているように、オブジェクトへの強い参照がなければ、収集するのは公正なゲームです(参照カウントが0であるため)。
クラス A のメソッドで、次のようにします。
ClassB* b = [[ClassB alloc] init];
[b doStuff];
doStuff では、次のようにします。
NSThread* t = [[NSThread alloc] initWithTarget:self selector:@selector(theThread) object:nil];
[t start];
クラス A のメソッドが終了した後にスコープ外になったため、 の参照カウントはb
0 のように見えます。ただし、スレッドは現在 ClassB で「実行中」であり、ローカル リソースが必要になります。
ここでの動作は何ですか?あるいはb
、スレッドがすべて終了するまで確実に残るようにするために、ここでの動作はどうあるべきでしょうか?
ありがとう!