【发布时间】:2013-10-06 21:38:25
【问题描述】:
如何定义一个既返回错误又返回值的方法?
例如,当我调用 managedObjectContext 保存方法时,该方法返回一个布尔值,以及一个错误:
if(![context save:&error]) {
NSLog(@"%@", error);
}
你能给我一个简单的例子来说明这背后的方法定义吗?
编辑/更新:在同样的方面,怎么可能传回多个错误。我在下面做错了(我可能还不明白这个概念),这不起作用:
NSArray *errors = nil;
[self throwMultipleErrors:&errors];
for(id error in errors) {
NSLog(@"Muliple error: %@", error);
}...
-(BOOL)throwMultipleErrors:(NSMutableArray **) errors {
[*errors addObject:@"First Error"];
[*errors addObject:@"Second Error"];
[*errors addObject:@"Third Error"];
return YES;
}
【问题讨论】:
-
没关系,我忘了通过将数组指向 nil 来实例化数组:\
-
不要以
NSMutableArray**的身份传递信息。使用NSError**并将您的多个子错误放入用户信息字典中。
标签: objective-c out-parameters