1

我有一个 iPad 应用程序,使用 XCode 4.5、Storyboards、iOS 6 和 MagicalRecord。此代码导致错误,我不明白为什么。两者aApptStartselectedStartDate都定义为 DateTime。那么,是什么原因造成的呢?

这是有问题的代码:

- (IBAction)saveAppointment:(UIButton *)sender {

    NSManagedObjectContext *localContext = [NSManagedObjectContext MR_contextForCurrentThread];
    AppointmentInfo *newAppointment = [AppointmentInfo createEntity];  //  create the entity

    NSLog(@"Selected start Date (save): %@", [self formatSelectedDate: selectedStartDate]); 

    newAppointment.aApptStart = selectedStartDate;  //  <------  causing the error
    newAppointment.aApptEnd= selectedEndDate;
    newAppointment.aTech = selectedTech;

    [localContext MR_saveNestedContexts];
}

这是我得到的错误:

由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“-[NSManagedObject setAApptStart:]: unrecognized selector sent to instance 0xee85dd0”

4

2 回答 2

4

那么,是什么原因造成的呢?

该错误表明 AppointmentInfo 中没有该名称的属性。

那么,您的 NSManagedObject 子类 (AppointmentInfo) 是否声明了属性 aApptStart?此外,您的实体是否存在相应的属性(如果该属性是@dynamic同盟实现的)?

我想它会......也许是一个错字?你能展示 AppointmentInfo 的接口和实现吗?

于 2013-01-01T16:08:21.333 回答
0

显然,您[AppointmentInfo createEntity]没有返回类型的对象,AppointmentInfoNSManagedObjectNSManagedObject没有提供选择器来setAApptStart表示没有属性的设置器aApptStart

你到底+(AppointmentInfo*) createEntity长什么样?

于 2013-01-01T16:21:16.370 回答