Objective-C の property って Swift ではどうやって実装すればいいの?
特に set した後にいろいろやりたい!
と思って検索しても
var _hoge: String? = nil
var hoge: String? {
get {
return self._hoge
}
set {
self._hoge = newValue
}
}
こんな感じのナンセンスなコードしか出てこないのでメモ
他の変数を利用する場合(税抜き・税込み価格 等)は上の方法で問題ないが
個人的にやりたいことは set した後にいろいろやりたい! である
このあと滅茶苦茶 set した
まぁ、プロパティ監視がしたいだけなんだよね
なので、以下が求めるものとなる
var hoge: String? {
willSet {
println("willSet:\(hoge) -> \(newValue)")
}
didSet {
println("didSet :\(oldValue) -> \(hoge)")
}
}
willSet
と didSet
で前者は値が格納される前、後者は値が格納された後に通過する
それぞれ、 newValue
と oldValue
という隠れた値が存在する
これは名称の変更が可能
didSet(fuga) {
println("didSet :\(fuga) -> \(hoge)")
}
とりあえずこのくらいのメモで大丈夫かな?