在該代碼時,該文本的變化,titleEditingChanged
被調用(如預期)。但是,當它執行線爲什麼'didset'在設置屬性屬性時會調用屬性?
investment?.title = sender.text!
它調用的Investment
的didset{}
。 爲什麼?
class InvestmentCell: UITableViewCell {
var investment: Investment? {
didSet {
// setup UI elements from class properties
textField.text = investment?.title
valueField.text = investment?.value?.description
}
}
@IBAction func titleEditingChanged(sender: UITextField) {
investment?.title = sender.text!
}
@IBOutlet weak var textField: UITextField!
@IBOutlet weak var valueField: UITextField!
}
「投資」是類還是結構? – EmilioPelaez
這是正常行爲。當你將一個項目追加到一個數組時,也會發生同樣的情況。 –
'didSet'和'willSet'是屬性觀察者*。你可以在[Swift Book](https://developer.apple.com/library/ios/documentation/Swift/Conceptual/Swift_Programming_Language/Properties.html)中準備好他們。 –