2016-03-05 48 views

回答

0

你有一對夫婦的方式去了解這一點:

  1. 直接訪問您的TextField,而不是你的模型,這聽起來就像是後didFinishEditing
  2. 而不是更新模型更新的text值只有didFinishEditing你可以通過執行internal func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool每次更新文本,並獲得新值let newString = (textField.text! as NSString).stringByReplacingCharactersInRange(range, withString: string)
+0

然而'覆蓋func prepareForSegue()'在用戶完成編輯文本字段之前被調用。無論如何,我可以使它在用戶編輯文本字段後調用該函數嗎?我把這個函數放在'didFinishEditing'裏面嗎? – RyanYue

+0

請閱讀我的兩個答案,這將工作,而不變得哈克。你可以改爲執行'internal func shouldPerformSegueWithIdentifier(identifier:String,sender:AnyObject?) - > Bool'並返回'false',然後在'didFinishEditing'結尾調用'performSegue',但那會是我認爲這是一個非常糟糕的主意。 – sschale