我想在实例化模型之前验证模型的属性。
class Book {
private var _title: String!
var title: String {
if title != "" {
return _title
} else {
return nil
}
}
}
这显然会在return nil
处引发错误。我用它作为我正在尝试做的事情的图形说明。
我尝试过使用可失败的初始化程序,但是 init 方法似乎是应用属性验证的错误位置。
如何使用最佳实践来实现这一目标?
最佳答案
这不是验证模型对象的最佳实践,但它可以以简单的方式实现您的要求。
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)。
关于ios - 验证模型属性、最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33136924/