我正在使用NScoding加载NSMutableArray;加载就好了:
_patients = [RND_PatientDB loadPatientData];
_Patients NSMutableArray的每个对象都有一个名为“completed”的浮点数。
我尝试仅过滤来自具有_patients.completed == 1的“_pateints”的NSmutableArray中的对象:
NSNumber *num1 = [NSNumber numberWithFloat:1.0];
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"completed == %@", num1];
patientsFiltered = [[_patients filteredArrayUsingPredicate:sPredicate] mutableCopy];
我收到此错误:
由于未捕获的异常'NSUnknownKeyException'而终止应用, 原因:'[valueForUndefinedKey:]:这个 对于完成的密钥,class不符合密钥值编码。
有什么想法吗?
答案 0 :(得分:-1)
如果您在模型中将'completed'定义为float,则应使用
float num1 = 1.0f;
NSPredicate *sPredicate = [NSPredicate predicateWithFormat:@"completed == %f", num1];
当你在数据模型中的NSNumber中包装float时,下面的描述是正确的。
NSNumber *num1 = [NSNumber numberWithFloat:1.0];