0
我檢查並刪除controlTextDidEndEditing
中NSTextField
的空格,但這些更改未反映在可可綁定中(CoreData條目未更新)。 NSTextField
已更新,但如果您單擊該條目並返回空格,則會返回。 如何觸發綁定對象來更新數據存儲?強制可可綁定在驗證後更新(swift)
我綁定的值爲NSTextField
,我甚至在更新後嘗試將.objectValue設置爲.stringValue,但它不起作用。
override func controlTextDidEndEditing(obj: NSNotification) {
Swift.print("editing is done now")
let textField:NSTextField = obj.object as! NSTextField
//if last character is a space remove it.
while textField.stringValue.characters.last == " "
{
Swift.print("last char is a space")
textField.stringValue.removeAtIndex(textField.stringValue.endIndex.predecessor())
}
//save to database now.
let dele:AppDelegate = NSApplication.sharedApplication().delegate as! AppDelegate
dele.saveAction(nil)
}
感謝.stringByTrimming ...細化更方便的方法。你能說清楚你的意思是什麼時候把這個值賦給文本字段嗎? – glenstorey
您可以像複製一樣從文本字段中檢索字符串值。當你改變字符串時,它實際上不會改變文本字段。您需要將該值分配迴文本字段的'stringValue'屬性。 – vadian
如果我明白你說的使用IBOutlet將字符值設置爲修剪後應該可行,但它不會 - 將句柄phraseTextField.stringValue = textField.stringValue(其中phraseTextField是IBOutlet添加到文本字段)什麼都不會改變。另外 - 如果它是一個副本,爲什麼界面更新,但綁定的管理對象不? – glenstorey