Ios 用户完成编辑uitextfield后调用prepareforsegue
如何将文本值从UITextField传递到另一个视图控制器。当前,当我重写func prepareforsgue()时,它在用户完成编辑文本字段之前被调用,因此传递的值总是空的。您有两种方法可以做到这一点:Ios 用户完成编辑uitextfield后调用prepareforsegue,ios,swift,uitextfield,segue,viewcontroller,Ios,Swift,Uitextfield,Segue,Viewcontroller,如何将文本值从UITextField传递到另一个视图控制器。当前,当我重写func prepareforsgue()时,它在用户完成编辑文本字段之前被调用,因此传递的值总是空的。您有两种方法可以做到这一点: 直接访问文本字段的文本值,而不是模型,这听起来像是在完成编辑后更新的 您可以通过实现内部函数textField(textField:UITextField,shouldChangeCharactersRange:NSRange,replacementString:string)->Bool并
文本字段的文本
值,而不是模型,这听起来像是在完成编辑后更新的
内部函数textField(textField:UITextField,shouldChangeCharactersRange:NSRange,replacementString:string)->Bool
并使用let newString=(textField.text!作为NSString)。StringByReplacingCharactersRange(范围,带字符串:string)
但是,
override func prepareforsgue()
在用户完成编辑文本字段之前被调用。我是否可以这样做,以便在用户编辑文本字段之后调用此函数?我是否将此函数放入didFinishEditing
?请阅读我的两个答案,这两个答案都不会出现问题。您可以改为实现internal func shouldperformsguewithidentifier(identifier:String,sender:AnyObject?->Bool
并返回false
,然后在结束时完成编辑
调用performsgue
,但我认为这是一个非常糟糕的主意。