iOS中的所有对象都是自动加入autorelease pool的吗?什么时候ARC?如果没有,哪一个会被添加,哪个不会被添加?
例如:
{
NSString *str = [[NSString alloc] init];
NSString *str2 = [NSString string];
}
+ (NSString *)string {
return [[NSString alloc] init];
}
str2
将被添加到自动释放池中,因为它是通过名为 'copy/mutableCopy/alloc/new'
的方法创建的。所以它不是自己创造的。但我不知道 str
是否会被添加,为什么?
最佳答案
ARC 不保证哪些对象被添加到自动释放池中,哪些对象没有。您的示例中的对象都没有很可能从未添加到 ARC 下的自动释放池中。
关于ios - iOS 中的所有对象是否都自动添加到自动释放池中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42944660/