正如Apple文档所说:
Use
let
to make a constant andvar
to make a variable. The value of a constant doesn’t need to be kNown at compile time,but you must assign it a value exactly once. This means you can use constants to name a value that you determine once but use in many places.
让我们考虑一下课程:
class A { var a = [String]() }
由于数组a是可变的,因此它是通过var定义的.但是如果我们考虑B类,A的实例是属性呢?
class B { let b = A() }
即使b是可变的,让关键字也可以,因为引用不会被改变.另一方面,var也可以,因为b的内容可以改变.我应该在这个例子中选择什么 – let或var?
尽可能使用let.必要时使用var.使事情不可变会使很多错误成为不可能,所以它应该是你的默认选择.尽可能在init中设置所有值,永远不要更改它们.同样,你应该尽可能使用struct,并在必要时进行分类(尽管根据我的经验,这比使用let更难实现).
所以在你的例子中,如果你在初始化期间不能设置A.a,那么是的,它应该是var.但是在你的例子中没有必要为B.b.使用var. (在任何一个例子中都没有理由使用课程,至少在你提出问题的方式上.)
原文地址:https://www.jb51.cc/swift/319897.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。