Ios 在Core Data managedObject中检查多个nil值?
在保存之前,我需要检查我的Ios 在Core Data managedObject中检查多个nil值?,ios,core-data,if-statement,nsmanagedobject,nsmanagedobjectcontext,Ios,Core Data,If Statement,Nsmanagedobject,Nsmanagedobjectcontext,在保存之前,我需要检查我的managedObjectContext中是否有nil值。目前,我正在使用if语句对每个键进行测试。我的NGLS实体中有许多属性,因此您可以看到,测试每个键的nil值似乎不太实际 if ([_managedObjectNGLS valueForKey:@"q1"] == nil){ [_managedObjectNGLS setValue:@"" forKey:@"q1"]; } if ([_managedObjectNGLS valueForKey:@"q1M
managedObjectContext
中是否有nil
值。目前,我正在使用if
语句对每个键进行测试。我的NGLS
实体中有许多属性,因此您可以看到,测试每个键的nil
值似乎不太实际
if ([_managedObjectNGLS valueForKey:@"q1"] == nil){
[_managedObjectNGLS setValue:@"" forKey:@"q1"];
}
if ([_managedObjectNGLS valueForKey:@"q1More"] == nil){
[_managedObjectNGLS setValue:@"" forKey:@"q1More"];
}
....
// Save managedObject
NSError *error;
[[self.managedObjectNGLS managedObjectContext] save:&error];
NSLog(@"%@", self.managedObjectNGLS);
NSLog(@"Data saved");
通常有许多
nil
值,我需要使用许多if语句手动更改这些值。是否有方法批量测试实体中的所有对象的零值?如果是这样的话,有没有办法一次用一组字符串
替换所有这些?谢谢。核心数据包括强大的。作为保存的一部分,核心数据验证对象属性,确保只保留有效对象
通过在托管对象子类上实现,您可以在中实现验证规则,也可以在代码中实现自己的验证规则
例如,使用模型编辑器可以将特性设置为非可选并提供默认值:
你的意思是这样的:NSArray*allKeys=@[@“q1”、“q1More”等];对于(所有键中的NSString*aKey){if([\u managedObjectNGLS valueForKey:aKey]==nil){[\u managedObjectNGLS setValue:@”“forKey:aKey];}}
?这非常适合我的需要,非常感谢!感谢您的解释和文档链接,这非常有帮助!我将把你的答案标记为正确,因为我将使用这个加上Larme的解决方案的混合物(在数组中使用for loop
),因为它们都对我需要的有用。再次感谢。