为什么 Apple 的方法不NSError**声明为NSError * __autoreleasing *?
过渡到 ARC 发行说明似乎表明它们应该是 (?)。
例如,NSFileManager.h 中的所有例程。但我实际上没有看到任何使用过渡到 ARC 发行说明中所述的 Apple 标头:
and the method declaration would typically be:
-(BOOL)performOperationWithError:(NSError * __autoreleasing *)error;
可能是因为支持所有NSError * error = nil;声明都暗示的遗留代码库,strong所以如果Apple放在__autoreleasing那里,__autoreleasing每次都会导致创建一个临时局部变量?我唯一能想到的。