我正在将一些古代码(10.2时代)从基于NSCoding/plist归档移植到使用核心数据。我有一个带有自定义NSTextFieldCell的NSOutlineView。大纲视图绑定到NSTreeController以提供数据。更新基于NSTextFieldCell编辑值的绑定字典
的绑定模式是这样的:
NSTreeController: 托管对象上下文 - > Controller.managedObjectContext
NSOutlineView的NSTableColumn 价值 - >树控制器:arrangedObjects:itemDictionary
的NSOutlineView有自定义NSTextFieldCell子类,它在文本字段旁边添加一个图像,所以我将NSManagedObject的值作为一个名为itemDictionary的NSMutableDictionary传递给它,以便我可以拉和设置标题和isChecked关键值va梅毒。
我遇到的问题是更新文本字段的值并将更改后的值传递回我的托管对象实例。用户双击标题值并对其进行编辑后,它会传递到-(id)objectValue
,但我不确定下一步是如何将更新传播到我的NSManagedObject实例。该代码我迄今阅读,在我NSTextFieldCell子类设定值以下是:
- (void)setStringValue:(NSString *)aString {
[super setObjectValue:aString];
}
- (void)setObjectValue:(id <NSCopying>)anObject {
id cellValues = anObject;
[super setObjectValue:[cellValues valueForKey:@"title"]];
[self setCheckState:[[cellValues valueForKey:@"isChecked"] integerValue]];
}
- (id)objectValue {
return [super objectValue];
}
代码在你的NSTextField子类中? – 2009-06-05 02:33:04
是的,这是NSTextFieldCell子类的肉。 – 2009-06-05 02:35:41