我希望在实例化之前验证我的模型的属性。
class Book {
private var _title: String!
var title: String {
if title != "" {
return _title
} else {
return nil
}
}
}
这显然会在return nil
引发错误。我用这个作为我想要做的事情的图解说明。
我尝试使用可用的初始值设定项,但似乎init方法是应用属性验证的错误位置。
如何使用最佳做法实现这一目标?
答案 0 :(得分:0)
这不是验证模型对象的最佳实践,但它可以通过简单的方式实现您的需求。
class Book {
private var _title: String = ""
var title: String {
return _title
}
init?(title:String) {
if title == "" {
return nil
} else {
self._title = title
}
}
}
创建Book
对象时,需要提供title
。如果title
为空,则不会创建对象(nil)。