@IBAction func buttonDidPush(sender: UIButton) {
print("\(sender.titleLabel?.text) was pushed")
sender.titleLabel?.text = nil
print("\(sender.titleLabel?.text) was pushed")
sender.titleLabel?.text = "piyo"
sender.titleLabel?.text = nil
print("\(sender.titleLabel?.text) was pushed")
}
上記のようなコードを実行すると、下記のようなログが出力される。
Optional("Button") was pushed
Optional("Button") was pushed
nil was pushed
なぜ最初の sender.titleLabel?.text = nil では nil がセットされずに、一度文字列をセットしてからだと nil がセットされるのでしょうか?
ちゃんと Swift 勉強してないからわからないのか、UIButton の実装上こんな挙動をする余地があるのかちょっとわからない。。