swift – 我什么时候应该使用选项?什么时候应该使用带有默认值的非选项?

swift – 我什么时候应该使用选项?什么时候应该使用带有默认值的非选项?,第1张

概述我知道 Swift中推荐的方法是使用: class Address {var firstLine : String?var secondLine : String?} 但有时我看到其他开发人员以这种方式编写代码: class Address {var firstLine : String = ""var secondLine : String = ""} 这是一种不受推荐的方式,因为无 我知道 Swift中推荐的方法是使用:

class Address {var firstline : String?var secondline : String?}

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

class Address {var firstline : String = ""var secondline : String = ""}

这是一种不受推荐的方式,因为无论什么时候你都没有,你就会崩溃,而你的恢复也没有出路.是对的吗?或者有一些使用非默认选项的用例可能很好.如果是那么那么?

我看到了另一个question,它询问效率而不是更适合您的需求.我正在寻找答案,其中说“这是一个使用非选项的好地方,这是一个使用期权的好地方”.有时我看到人们到处都是倾销选项,这让我觉得我们不需要非选项吗?有时候我会看到人们试图尽可能地避免选项,并且只是以Objective-C风格编写代码.

上述问题的答案并不代表非选择性良好的有效案例.这是无声的.至于选择选项:我猜测网络调用填充的模型,选项是正确的选择,因为你不知道它是否为零.

解决方法 选择取决于您的模型.

如果您建模的对象的属性可能完全不存在,例如中间名,姓名后缀,备用电话号码等,应使用可选项进行建模. nil可选告诉您该属性不在那里 – 即一个人没有中间名或替代电话号码.当您必须区分空对象和缺少对象时,还应该使用可选项.

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

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

如果您的类的用户需要更改分隔符,他们可以这样做.但是,如果他们不关心分隔符,他们可以继续使用默认值而不在自己的代码中提及它.

总结

以上是内存溢出为你收集整理的swift – 我什么时候应该使用选项?什么时候应该使用带有默认值的非选项?全部内容,希望文章能够帮你解决swift – 我什么时候应该使用选项?什么时候应该使用带有默认值的非选项?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1008072.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存