我正在阅读有关swift中的设计模式的书籍,并且有一个程序可以在步进器的值更改或与其关联的文本字段改变,这里是法UITextField的值已更改和编辑已更改事件之间的区别是什么
@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();
}
}
但我有一些问题的时候改变这个线程的代码,首先,当我刚刚剥离出来的,而看,它只是没有工作。
@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();
}
}
此外,当我将文本字段的事件从编辑更改为值更改,它只是不工作了!
任何人都知道那里发生了什么,谢谢