我在我的项目中使用 NSPredicateEditor。我的其中一行有 2 个弹出按钮和右侧的文本字段。如果我在文本字段中输入了某些内容,当我从任一弹出按钮中选择不同的菜单项时,文本字段中的文本将被删除。这似乎是默认行为,我不希望删除该文本。我已经尝试了我能想到的一切,但似乎无法处理这个问题。任何想法如何改变这种行为?
问问题
260 次
2 回答
0
您可以使用 NSUserDefault 保存数据,它将保存和加载数据(除非用户这样做,否则它不会删除您的数据)。
于 2012-11-25T02:14:44.283 回答
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
。
于 2017-02-06T17:37:06.440 回答