我想要实现类似于这些人在这里做的事情:
- (NSUInteger)countForFetchRequest:(NSFetchRequest *)request error:(NSError **)error
Run Code Online (Sandbox Code Playgroud)
就像你看到的那样,你传递一个NSError指针,如果出现错误,那个nice方法会为你的指针指定一个真正的NSError对象.所以很酷的是,该方法返回一个NSUInteger,但也可以返回一个NSError,而不必乱用丑陋和胖的数组或字典.
那么如何将对象分配给传入的错误指针?
这很简单.本Apple指南介绍了如何实现返回NSError对象的方法.但要做一个非常非常简短的长篇故事:
- (NSUInteger)countForFetchRequest:(NSFetchRequest *)request error:(NSError **)error
{
//Do stuff, including make MyCustomErrorDomain and errCode and eDict.
if (error != NULL) { // check to avoid crash if **error is not provided
*error = [[[NSError alloc] initWithDomain:MyCustomErrorDomain code:errCode userInfo:eDict] autorelease];
}
//Do some more stuff.
}
Run Code Online (Sandbox Code Playgroud)
注意星号.:)
| 归档时间: |
|
| 查看次数: |
1055 次 |
| 最近记录: |