Objective c NSManagedObject valueforkey提供的值与访问器方法的值错误/不同

Objective c NSManagedObject valueforkey提供的值与访问器方法的值错误/不同,objective-c,nsmanagedobject,kvc,Objective C,Nsmanagedobject,Kvc,我有一个名为File的NSManagedObject子类。File类有一个名为“deleted”的属性,该属性在xcdatamodel文件中是一个布尔值,在File.h中是一个NSNumber。当该值设置为1时,会发生奇怪的事情。访问器方法file.deleted/[file deleted]都返回1。当我调用[file valueForKey:@“deleted”]时,它返回0。当我在控制台中将其作为整个对象打印时(例如.po文件或使用NSLog()),它也是0。此外,它不会使用“filter

我有一个名为File的NSManagedObject子类。File类有一个名为“deleted”的属性,该属性在xcdatamodel文件中是一个布尔值,在File.h中是一个NSNumber。当该值设置为1时,会发生奇怪的事情。访问器方法file.deleted/[file deleted]都返回1。当我调用[file valueForKey:@“deleted”]时,它返回0。当我在控制台中将其作为整个对象打印时(例如.po文件或使用NSLog()),它也是0。此外,它不会使用“filteredArrayUsingPredicate”上的NSPredicate“deleted=1”对删除某些文件的文件数组进行过滤。我想知道我是怎么做的,才会有如此不协调的行为。

首先,显示shome代码。特别是一些记录getter和valueForKey输出的行。其次,NSManagedObject上已经有一个
isDeleted
getter。可能会有一种情况,您会与超类的
已删除的
iVar混淆,尽管这种情况不应该发生。我会尝试将它从
deleted
重命名为somthing
appDeleted
左右。可能重复-是的,调用属性“deleted”就是问题所在。