2012-10-22 27 views
1

據我瞭解ARC,沒有一個對象的強烈參考,這是公平的遊戲被收集(因爲它的引用計數爲0)。線程和對象生命週期與ARC

如果在A類的方法,我這樣做:

ClassB* b = [[ClassB alloc] init]; 
[b doStuff]; 

而在doStuff,我這樣做:

NSThread* t = [[NSThread alloc] initWithTarget:self selector:@selector(theThread) object:nil]; 
[t start]; 

b引用計數似乎是0,因爲它A班的方法結束後,超出範圍。然而,一個線程目前在ClassB中運行,並且需要本地資源。

這裏有什麼行爲?或者,也許,這裏的行爲應該確保b一直待在線程完成之前?

謝謝!

回答