2

我对核心数据的一些实体,它们是一个超类具有的NSDate属性,“ - [__ NSDate的managedObjectContext]:无法识别的选择发送到实例

的所有子类和其他所有工作得很好,当我救他们,

,但他们中的一个将看似中概率崩溃,当我保存它,

,我发现原因是来自它的父类继承了它的NSDate属性,

当我设定的日期值为NSDate a ttribute,它崩溃并退出登录:

2012-02-10 00:24:34.474 EasyWallet[37772:707] -[__NSDate managedObjectContext]: unrecognized 
selector sent to instance 0xdc54c30 
2012-02-10 00:24:34.483 EasyWallet[37772:707] *** Terminating app due to uncaught exception 
'NSInvalidArgumentException', reason: '-[__NSDate managedObjectContext]: unrecognized 
selector sent to instance 0xdc54c30' 
*** First throw call stack: 
(0x344268bf 0x346761e5 0x34429acb 0x34428945 0x34383680 0x32f8811b 0x32f8904b 0x32f8aeb5 
0x32f83161 0x32f7e8cf 0x3c507 0x34380435 0x377ea9eb 0x377ea9a7 0x377ea985 0x377ea6f5 
0x377eb02d 0x377e950f 0x377e8f01 0x377cf4ed 0x377ced2d 0x30c01df3 0x343fa553 0x343fa4f5 
0x343f9343 0x3437c4dd 0x3437c3a5 0x30c00fcd 0x377fd743 0x29b1 0x2970) 
terminate called throwing an exception(gdb) 

,这里是我的代码保存这些属性

... // get keys 
self.rowKeys = [NSMutableArray arrayWithObjects:@"personName",@"amount",@"incomingAccount", 
        @"date",@"returnDate",@"isReturned",@"memo",nil]; 
... // saving 
for (int i = 0; i < [self.rowKeys count]; i++) { 
    NSLog(@"%d: %@",i,[rowValues valueForKey:key(i)]); 
    [newMo setValue:[self.rowValues valueForKey:key(i)] forKey:key(i)]; 
} 

关键(我)这是一个宏定义:

#define key(X) [rowKeys objectAtIndex:(X)] 

而且日期打印出来就是这样,毫不奇怪。

2012-02-10 16:00:00 +0000 

当谈到保存“日期”属性,它崩溃了,但它刚刚通过的次数更少。

我从UIDatePicker获得了这个日期,并且检查了我的代码,发现我认为没有错。

真的需要一些帮助!

非常感谢!

回答

2

我修复了它。

问题是我犯了一个非常错误的发送NSDate方法到非NSDate ojbect,在一些非常秘密的地方。

只要注意您的代码,特别是易混淆的部分。

相关问题