0
我想知道何时myTextField的“text”属性(它是UITextField的子类)被我的应用程序清除。由于我在我的应用程序中有很多textField,我希望它是来自子类内的机制。当UITextField被更改为不使用键盘快捷键时检测到
我发现了一些建议使用观察者的帖子,我尝试了它,它的工作原理,但我想要一个更好的方法。
这种方法的问题是,当我使用键盘输入一个字符,然后我清除使用
someField.text = ""
观察者调用我的应用程序的50倍,这是非常的从我的应用“文本”效率低下。
这是我在myTextField将课堂上使用的代码:
addObserver(self, forKeyPath: "text", options: .New, context: nil)
和得到的消息是
override func observeValueForKeyPath(keyPath: String?, ofObject object: AnyObject?, change: [String : AnyObject]?, context: UnsafeMutablePointer<Void>) {
if let newValue = change?[NSKeyValueChangeNewKey] {
print("text changed: \(newValue)")
}
}
打印()与“NEWVALUE”之称的50倍以上的功能空荡荡的时间。 另外,当我在应用程序中将其“text”属性设置为“”时,其“text”属性中没有数据的其他textField被调用5次,这也是效率低下的。