我在我的项目中使用了NSPredicateEditor。我的其中一行有两个弹出式按钮和一个右侧的文本字段。如果我在文本字段中键入了某些内容,当我从两个弹出按钮中选择一个不同的菜单项时,文本字段中的文本将被删除。这似乎是默认行为,我不希望删除该文本。我已经尝试了我能想到的一切,但似乎无法处理这个问题。有什么想法可以改变这种行为吗?
发布于 2012-11-25 10:14:44
您可以使用NSUserDefault保存数据,它将保存和加载数据(它不会删除您的数据,除非用户这样做)。
发布于 2017-02-07 01:37:06
通过行模板的templateViews属性访问文本字段。
这使您可以获取已输入到文本字段中的自定义值。在值发生更改时保存该值。
class YourCustomRowTemplate : NSPredicateEditorRowTemplate {
func printTextFieldValues() {
let templateViews = super.templateViews
for view in templateViews {
if let textField = view as? NSTextField {
let text = textField.stringValue
print("Text in the texfield is: \(text)")
}
}
}
}您可以通过继承NSPredicateEditorRowTemplate子类并覆盖templateViews方法,以相同的方式设置值。
https://stackoverflow.com/questions/13547613
复制相似问题