【发布时间】:2012-02-22 05:23:57
【问题描述】:
我意识到这与此处的现有帖子What's the Point of (NSError**)error? 相似,但我的问题有点不同。我了解双指针是如何工作的,以及这是常见的 iOS API 错误模式。我的问题更多是关于单指针,以及为什么这段代码不起作用:
- (BOOL)someMethodWithError:(NSError *)error
{
...
if( errorOccured )
{
NSError *e = [[[NSError alloc] initWithDomain:@"" code:1 userInfo:nil] autorelease];
error = e;
return NO;
}
return YES;
}
使用:
NSError *error = nil;
if( ![someObj someMethodWithError:error] )
{
NSLog(@"Error: %@", [error localizedDescription]);
}
为什么方法实现中的赋值不将指针重新赋值给新的NSError对象?
【问题讨论】:
标签: objective-c ios