ios - 验证模型属性、最佳实践

标签 ios swift model encapsulation

我想在实例化模型之前验证模型的属性。

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/

相关文章:

ios - 动态访问所有类属性值

ios - 尝试调用请求的方法 validateAssets 时出错。 (1272)

iOS - 用于跟踪全局设置的持久变量

ios - 导航和选项卡 View Controller 未正确加载,然后跳转到位

c# - ASP.NET MVC - 当模型添加附加字段时更新强类型 View 的简单方法?

iOS:阐明不同的搜索路径

ios - 如何在 Swift 的 UICollectionViewCell 中为标签添加长按手势

ios - 核心数据随机崩溃,可能存在并发问题

c++ - 带有使用 QAbstractTableModel 子类的 Qt 小部件的 MVC

asp.net-mvc - 当尝试实现良好的 ASP.NET MVC 时, Controller 'ratio' 是否有一个标准模型?