我何时应该使用选项,何时应该使用具有默认值的非选度



我知道Swift的推荐方法是使用:

class Address {
var firstLine : String?
var secondLine : String?
}

,但有时我会看到其他开发人员以这种方式编写代码:

class Address {
var firstLine : String = ""
var secondLine : String = ""
}

这是不受道理的方式,因为每当您有nil时,您都会崩溃,并且没有恢复的出口。是对的吗?或者在某些用例中,使用默认情况下的非选拔赛可能很好。如果是这样?

在哪里?

我看到了另一个询问效率的问题,而不是更适合您的需求。我正在寻找一个说的答案:"这是使用非选拔赛的好地方,这是使用选项的好地方。我认为我们不需要非选举人吗?有时我会看到人们试图避免尽可能多地避免选项,而只是以客观的形式进行编码。

上面的问题的答案并不代表非绝对性良好的有效案例。这是静音的。至于选择选项:我猜测由网络调用填充的模型,选项是正确的选择,因为您不知道它是否是nil

选择取决于您的模型。

如果您的对象的属性可能完全不存在,例如中间名,名称后缀,替代电话号码等,应以可选的方式对其进行建模。nil可选告诉您该属性不存在 - 即一个人没有中间名或替代电话号码。当您必须区分空对象和缺失对象时,还应使用可选的。

如果必须设置对象的属性,并且具有有意义的默认值,请使用默认值的非选项:

class AddressList {
    var addresses : [Address]
    var separator : String = ";"
    ...
}

如果您的班级用户需要更改分离器,则可以做到这一点。但是,如果他们不关心分隔符,他们可以继续使用默认值而无需在自己的代码中提及。

,如果您认为该变量可能没有值,则应使用选项。但是,如果您真的确定它会有一个值,那么您就不需要使用它们。

因此,只有当您确定变量将具有一个值的值时,仅使用非选项。

相关内容

  • 没有找到相关文章

最新更新