Мне нужно проверить, есть ли какие-либо nil
значения в моем managedObjectContext
перед их сохранением. В тот момент я делаю тесты по каждому ключу с помощью операторов if
. У меня есть много атрибутов в моем объекте NGLS
, так как вы можете видеть, что тестирование каждой клавиши для значений nil
не кажется очень практичным.Проверьте наличие нескольких значений nil в объекте Core Data managedObject?
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 statements
. Есть ли способ пакетной проверки всех объектов в моей сущности для значений nil? И если да, то есть ли способ заменить все из них набором string
сразу? Благодарю.
Вы имеете в виду что-то вроде этого: 'NSArray * AllKeys = @ [@» q1 ", @" q1More "и т. д.], для (NSString * aKey in allKeys) {if ([_managedObjectNGLS valueForKey: aKey] == nil) {[_ managedObjectNGLS setValue: @" "forKey: aKey];}}'? – Larme
Это работает идеально для моих нужд, спасибо большое! – rosshump