条件定义模型对象中的属性

时间:2018-03-12 10:44:30

标签: swift

我有一个模型对象,该对象中有一些属性。基于某些条件,我希望在那里定义属性或不定义属性。例如,此属性是我的应用版本。

    class Person {

      var name: String
      var address: String
      var age: String

      // I want some condition here like if myAppVersion > 1.0 then add isChild 
      //  property to my model object other wise don't add that 

      var isChild: Bool

      // Normal property again
      var gender: String
    }

我想要这种行为,因为属性来自后端,并且所有这些属性都是必需的,因此如果由于某种原因,BE没有发送客户端所期望的必需属性,那么我将崩溃。这些属性必须是必需的,而不是可选的。

1 个答案:

答案 0 :(得分:3)

不要这样做。

将参数声明为可选,如果您不希望它具有值,则将其设置为nil。如果你想要有不同的实现,你应该创建两个单独的类,但这只是一个小小的改变是非常多余的。

如果您的应用程序因为属性的值为零而崩溃,那么您应该 来查看optional handling in Swiftnullability in Objective-C