为什么Apple标头没有__autoreleasing NSError**params?

Dad*_*Dad 3 cocoa objective-c out-parameters automatic-ref-counting

Apple的方法为什么不被NSError**宣布为NSError * __autoreleasing *

过渡到ARC发行说明似乎表明,他们应该是(?).

例如,NSFileManager.h中的所有例程.但我实际上并没有看到任何 Apple标题使用过渡到ARC发行说明中所述的内容:

and the method declaration would typically be:

-(BOOL)performOperationWithError:(NSError * __autoreleasing *)error;
Run Code Online (Sandbox Code Playgroud)

可能是因为支持所有NSError * error = nil;声明所暗示的遗留代码库,strong所以如果Apple放在__autoreleasing那里它会导致__autoreleasing每次都创建一个临时局部变量?我唯一能想到的就是.

Cod*_*aFi 5

指向Objective-C对象的双指针隐含地__autoreleasingLLVM规范指定.