我目前正在阅读一本关于 swift 设计模式的书,并且有一个程序可以在步进器的值更改或与其关联的文本字段更改时通知方法,这是方法
@IBAction func stockLevelDidChange(sender: AnyObject) {
println("Method Trigged")
if var currentCell = sender as? UIView {
while (true) {
currentCell = currentCell.superview!;
if let cell = currentCell as? ProductTableViewCell {
if let id = cell.productID? {
var newStockLevel:Int?;
if let stepper = sender as? UIStepper {
newStockLevel = Int(stepper.value);
} else if let textfield = sender as? UITextField {
if let newValue = textfield.text.toInt()? {
newStockLevel = newValue;
}
}
if let level = newStockLevel {
products[id].4 = level;
cell.stockStepper.value = Double(level);
cell.stockField.text = String(level);
}
}
break;
}
}
displayTotalStock();
}
}
但是我在更改此代码线程时遇到了一些问题,首先当我只是剥离 while 外观时,它就是不起作用。
@IBAction func stockLevelDidChange(sender: AnyObject) {
println("Method Trigged")
if var currentCell = sender as? UIView {
currentCell = currentCell.superview!;
if let cell = currentCell as? ProductTableViewCell {
if let id = cell.productID? {
var newStockLevel:Int?;
if let stepper = sender as? UIStepper {
newStockLevel = Int(stepper.value);
} else if let textfield = sender as? UITextField {
if let newValue = textfield.text.toInt()? {
newStockLevel = newValue;
}
}
if let level = newStockLevel {
products[id].4 = level;
cell.stockStepper.value = Double(level);
cell.stockField.text = String(level);
}
}
break;
}
displayTotalStock();
}
}
而且,当我将文本字段的事件从 editing changed 更改为 value changed 时,它也不起作用!!!
谁知道那里发生了什么,谢谢
最佳答案
编辑更改是文本字段状态。 Value Changed 是 textField 内容发生了变化。
如果你想做一些操作,你可以使用
这样的:
[textField addTarget:self action:@selector(textFieldAction:) forControlEvents:UIControlEventValueChanged];
您可以为您的目标更改控制事件。行动。 谢谢。
关于ios - UITextField 的值更改和编辑更改事件之间有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29425368/