【发布时间】:2016-06-23 15:02:32
【问题描述】:
我一直都知道这种模式是管理NSError** 参数(特别是BOOL 返回值和NSError* __autoreleasing * 参数:
-(BOOL)doSomethingWithString:(NSString*)string error:(NSError* __autoreleasing *)error {
if(![string length]) {
*error = [NSError blah blah];
return NO;
}
return YES;
}
要使用此方法,请遵循以下模式:
NSError* error = nil;
if([self doSomethingWithString:@"" error:&error]) {
//great success!!
} else {
//log error
}
现在好像__autoreleasing被_Nullable替换了?
我在 Apple 官方文档中查看此方法:https://developer.apple.com/reference/foundation/nsfilemanager/1415371-createdirectoryaturl?language=objc
那么,我是否只需将我的所有 __autoreleasing 替换为 _Nullable 并且在这种情况下一切都很好?如果没有,管理NSError** 参数的新模式是什么?
【问题讨论】:
-
模式是成功时返回 YES 或非 nil 对象,失败时返回 NO 或 nil。
-
@gnasher729 我修正了我的例子...感谢您指出...
标签: objective-c error-handling automatic-ref-counting