1

我收到以下错误

2011-09-05 08:08:43.506 CaveConditions[7203:11903] -[NSManagedObject coordinate]: unrecognized selector sent to instance 0x7471910
2011-09-05 08:08:43.507 CaveConditions[7203:11903] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[NSManagedObject coordinate]: unrecognized selector sent to instance 0x7471910'

这就是我所说的

NSFetchRequest *request = [[NSFetchRequest alloc] init];
    request.entity = [NSEntityDescription entityForName:@"Cave" inManagedObjectContext:self.context];
    request.predicate = [NSPredicate predicateWithFormat:@"(latitude > 0) AND (longitude > 0)"];

    [self.mapView addAnnotations:[self.context executeFetchRequest:request error:NULL]];

它在 addAnnotations 行崩溃

在我的 Cave.h 中(它作为 MKAnnotation 代表)

@property (nonatomic, readonly) CLLocationCoordinate2D coordinate;

在我的洞穴.m

- (CLLocationCoordinate2D)coordinate
{
    CLLocationCoordinate2D location;
    location.latitude = [self.latitude doubleValue];
    location.longitude = [self.longitude doubleValue];
    return location;
}

我错过了什么吗?

在此处输入图像描述

4

1 回答 1

4

该错误表明Cave该类未注册为Cave数据模型中实体的类。当您进行提取时,您会得到一个通用的 NSManagedObject 而不是Cave类的实例。

检查数据模型是否有字段输入自定义 NSManagedObject 子类的名称。它可能仍设置为默认值。

于 2011-09-06T00:55:30.203 回答