🌸
【Swift】willSet, didSetの使い方
willSet
struct User {
var email: String
var password: String {
willSet {
print("変更前:\(password)\n変更後:\(newValue)")
}
}
}
var user = User(email: "sample@gmail.com", password: "sample1234")
user.password = "newsample1234"
// => 変更前:sample1234/変更後:newsample1234
didSet
struct User {
var email: String
var password: String {
didSet {
if password.count < 8 {
print("パスワードは8文字以上で入力してください")
password = oldValue
}
}
}
}
var user = User(email: "sample@gmail.com", password: "sample1234")
user.password = "sample"
// => パスワードは8文字以上で入力してください
Discussion