6
ARCで通常のリリースを使用できないのはなぜですか?弱参照を使用するときに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でできるだけ多くのオートリアーゼを排除するのが好きです。私が正しく生成されたアセンブリコードを理解していれば
dispatch_async(self.myQueue, ^{
@autoreleasepool{
[weakObject doSomethingBig];
}
});
十分にスマートなコンパイラの欠如は、基本的には、おそらくそれは提出されており、間違いなく知られていますが、バグレポートの価値があるかもしれません。 –
弱点はどこから得ますか? –