我有一个CoreData对象,我希望在NSTextField
中显示该对象的信息。
该对象具有两个相关属性:
@property (nonatomic, retain) NSString *text;
@property (nonatomic, readonly) NSAttributedString *displayText;
我想在文本字段中显示后者,但允许用户编辑前者。 (后一个字符串是前者的简单转换,删除了一些字符并应用了一些属性。)
我怎样才能做到这一点?
还有两点值得注意:
NSTextField
位于NSOutlineView
内,这意味着未正确调用委托方法control:textShould{Begin,End}Editing:
:请参阅this question。这意味着我无法在编辑之前和之后手动设置字段的.attributedStringValue
。
由于我的对象是NSManagedObject
的子类,因此我不能将NSFormatter
与setObjectValue:
一起使用(因为它没有实现<NSCopying>
)。因此,我似乎无法使方法in this question起作用。
我愿意使用NSFormatter
子类,或者(最好)找到一种方法来绑定正常显示的文本以及直接编辑属性。
我的大纲视图是基于视图的,所以如果比NSTextField
更适合工作,我很乐意使用它。