【发布时间】:2012-12-14 20:51:57
【问题描述】:
Apple 的Core Data Utility Tutorial 建议实现setNilValueForKey: 并测试其效果:
使用键值编码将进程 ID 设置为 nil。构建并运行该实用程序。再次,会发生什么?最后,注释掉 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] ;
}
}
我找到了similar stackoverflow discussions,但没有人回答这个问题。
【问题讨论】:
标签: core-data key-value key-value-coding