BambooHero

#Programming #iOS #Investment #LifeHacks

[Swift]一度だけ変更可能なプロパティを実装する方法

初期値はnilで、その後1回値を代入したら、その後何度代入しても値が変わらないプロパティを実装したい。

didSetを使うと、以下のようにシンプルに実装できました。

struct User {
    var id: Int? {
        didSet {
            if oldValue != nil {
                id = oldValue
            }
        }
    }
}

var user = User()
print(user.id)  // 初期値はnil
user.id = 1
print(user.id)  // 1に変わった
user.id = 2
print(user.id)  // 1のまま変わらない