Учебное пособие по Core Data Utility от Apple рекомендует реализовать setNilValueForKey:
и протестировать его действие:
Используйте кодирование "ключ-значение", чтобы установить идентификатор процесса равным нулю. Скомпилируйте и запустите утилиту. Опять же, что происходит? И, наконец, закомментируйте метод setNilValueForKey: и проверьте его еще раз.
Я пытаюсь установить ID процесса равным нулю с помощью этого кода: [run setValue:nil forKey:@"processID"];
, но это не вызывает setNilValueForKey:
. Почему нет?
Вот моя реализация; добавленный мной оператор NSLog никогда не появляется.
- (void) setNilValueForKey:(NSString*)key {
NSLog(@"setNilValueForKey: %@", key) ;
if ( [key isEqualToString:@"processID"] ) {
[self setValue:@0 forKey:key ] ;
}
else {
[super setNilValueForKey:key] ;
}
}
Я нашел похожий стековый поток обсуждения, но никто не ответил на этот вопрос.