【发布时间】:2014-10-26 14:33:57
【问题描述】:
我正在使用 shouldChangeCharactersInRange 作为使用动态类型搜索的一种方式。
但是我遇到了一个问题,shouldChangeCharactersInRange 在文本字段实际更新之前被调用:
在 Objective C 中,我使用以下方法解决了这个问题:
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
NSString * searchStr = [textField.text stringByReplacingCharactersInRange:range withString:string];
return YES;
}
但是,我尝试用 Swift 编写这个:
func textField(textField: UITextField!, shouldChangeCharactersInRange range: NSRange, replacementString string: String!) -> Bool {
let txtAfterUpdate:NSString = self.projectSearchTxtFld.text as NSString
txtAfterUpdate.stringByReplacingCharactersInRange(range, withString: string)
self.callMyMethod(txtAfterUpdate)
return true
}
在我得到一个值之前该方法仍然被调用?
【问题讨论】:
标签: ios objective-c swift uitextfielddelegate nsrange