为什么 ARC 不能使用常规版本?
例子:
[weakObject doSomething];
据我了解,ARC 将其变为:
Object *strongObject = objc_autorelease(objc_loadWeakRetained(weakObject));
[strongObject doSomething];
为什么 ARC 不这样做呢?:
Object *strongObject = objc_loadWeakRetained(weakObject);
[strongObject doSomething];
objc_release(strongObject);
我想尽可能多地取消 ARC 中的自动发布。我用 GCD 做了很多异步线程,我最终不得不添加很多自动释放池:
dispatch_async(self.myQueue, ^{
@autoreleasepool{
[weakObject doSomethingBig];
}
});