我在我的项目中使用NSPredicateEditor。我的一行有两个弹出按钮,右侧有一个文本字段。如果我在文本字段中输入了某些内容,当我从任一弹出按钮中选择不同的菜单项时,将删除文本字段中的文本。这似乎是默认行为,我不希望删除该文本。我已经尝试了所有我能想到的东西,似乎无法处理这个问题。任何想法如何改变这种行为?
答案 0 :(得分:0)
您可以使用NSUserDefault保存数据,它会保存并加载数据(除非用户这样做,否则不会删除您的数据)。
答案 1 :(得分:0)
通过行模板的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
方法,以相同的方式设置值。