【发布时间】:2013-04-26 20:20:31
【问题描述】:
在下面的代码中,NSError 在返回时显示在 XCode 中,其类类型为“HomeViewController”——我的视图控制器之一。如果我用双指针做了一些不寻常的事情,这将是有道理的,但我没有。为什么会这样?我的代码中是否有一些愚蠢的错误,Core Data 中的错误,还是????
希望我没有自欺欺人!
self->ctx = [(AppDelegate *) [[UIApplication sharedApplication] delegate] managedObjectContext];
NSFetchRequest * request = [[NSFetchRequest alloc] init];
NSEntityDescription *entityDescription = [NSEntityDescription
entityForName:@"Street" inManagedObjectContext:self->ctx];
NSSortDescriptor* sortDescriptor = [[NSSortDescriptor alloc]
initWithKey:@"street" ascending:YES];
NSArray* sortDescriptors = [[NSArray alloc] initWithObjects: sortDescriptor, nil];
[request setEntity:entityDescription];
[request setSortDescriptors:sortDescriptors];
NSError * error;
NSArray *array = [self->ctx executeFetchRequest:request error:&error];
if(error!=nil){
NSLog(@"%@", @"Critical model error search");
}
_streets = array;
【问题讨论】:
-
不要使用
self->访问ivars。 -
@bbum 感谢您的最佳实践.. 为什么会这样?
-
这是一个约定。没有真正的危害(除了考虑访问器上是否存在可能很关键的行为),但您不会看到它在深奥的情况之外完成(例如 -copy 方法的实现)。
标签: objective-c xcode