我发现一些解决方案已将单元格声明为" var"其他有"让"。
var cell : MenuCell? = tableView.dequeueReusableCellWithIdentifier("cell") as! MenuCell!
我应该使用哪种" var"或者"让" ?提前致谢。
答案 0 :(得分:1)
对此使用“let”...因为您不需要在本地方法中更改变量值,而对于let和var概念,请参阅此click here
答案 1 :(得分:1)
通常,如果您没有改变实例,则应将其声明为let
例如,在您的情况下,您不会为cell
variable.i.e分配另一个引用。 cell = aNewCell
。因此,您应将其声明为let
。
如果你想改变它(给它分配一个新的引用),然后将其声明为var
,如下所示。
var cell1 = tableView.dequeueReusableCellWithIdentifier("cell") as! MenuCell
let cell2 = tableView.dequeueReusableCellWithIdentifier("cell") as! MenuCell
cell1 = cell2
答案 2 :(得分:0)
如果你知道如果要动态设置类然后使用var,那么你永远不会将变量更改为另一个类的对象。
答案 3 :(得分:0)
我建议使用"让"声明当你宣布常数时,你说它不会被其他值重新初始化(我想如果你从dequeueReusableCellWithIdentifier("cell")
获得单元格,你又不会再次使用此方法获得它。如果某个地方你会创建任何错误,将其与其他值重新初始化 - "让"会告诉你一个错误,你做错了什么 - 容易修复bug,另一方面" var"会接受并离开。这些错误很难找到,它可能不会出现很长时间。
这就是为什么接近"只使用你现在需要的功能"比使用更多扩展的更好只是为了防止这样的错误。
此外,让变量更加优化,因此代码比使用var变量更快。