201203

Top


2012-03-13

10:46

ARC(NSError **) を引数にとる method を NSInvocation で呼び出す場合、 以下のように __autoreleasing を明記する必要がある。 __autoreleasing がないと、(strong 扱いされるため) 余計に release されて死ぬらしい。

__autoreleasing NSError * error;
NSError * __autoreleasing * errorRef = &error;
[invocation setArgument: &errorRef atIndex: 2];