我有一个iPad应用程序,使用XCode 4.5,Storyboards,iOS 6和MagicalRecord。此代码导致错误,我不明白为什么。 aApptStart
和selectedStartDate
都定义为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:]:无法识别的选择器发送到实例0xee85dd0'
答案 0 :(得分:4)
那么,是什么造成了这个?
错误表明AppointmentInfo中没有该名称的属性。
那么,您的NSManagedObject子类(AppointmentInfo)是否声明属性aApptStart?此外,您的实体是否存在相应的属性(如果该属性已实现@dynamic
ally)?
我想它会....也许是一个错字? 你能展示AppointmentInfo的界面和实现吗?
答案 1 :(得分:0)
显然,您的[AppointmentInfo createEntity]
不会返回AppointmentInfo
类型的对象,但NSManagedObject
和NSManagedObject
不会为setAApptStart
提供选择器,这意味着没有有问题的aApptStart
。
您的+(AppointmentInfo*) createEntity
究竟是什么样的?