据我了解 ARC,如果没有对对象的强引用,收集它是公平的游戏(因为它的引用计数为 0)。
如果,在 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
一直存在,直到线程全部完成?
谢谢!