swift 3中的静态关键字

Posted

技术标签:

【中文标题】swift 3中的静态关键字【英文标题】:Static keyword in swift 3 【发布时间】:2017-09-30 15:15:02 【问题描述】:

我想要一个功能来实现,如果用户第一次单击 tableview 单元格,它应该得到一个复选标记作为辅助指示器,如果他单击两次,那么复选标记应该消失,即对于每奇数次点击,复选标记应该是在那里,每点击一次偶数,复选标记就会消失。

我知道应该做什么,即在 tableview 的选择委托方法中应该有一个静态变量,每次调用该方法时其计数都会增加,然后有条件地我们可以将复选标记作为辅助指示器。

我最近在学习 swift 3 并且无法在这里使用 static 关键字。在 swift 3 中实现此功能的最佳方法是什么。请提出建议。

【问题讨论】:

使get set属性观察这个对象的状态。 因为只有两个状态需要布尔属性 (selected),所以点击次数/偶数或奇数无关紧要。基本上,您需要一个能够单独处理表格视图的所有单元格的数据模型,而不是静态变量。 你能用代码解释同样的事情吗...我会非常感谢,因为我是这个东西的新手,几乎不需要前进的方向。 这里有很多相关的问题和答案,例如参见***.com/questions/39307168/…。在didSelectRow... 中只需切换selected 属性的状态 为什么你认为这种作业需要一个静态变量? 【参考方案1】:

有很多方法可以做到这一点。在 tablebview 的 didselect 方法中给出一个检查图像,在 didDeSelect 方法中给出一个取消选中的图像。或者你可以在 didselect 方法中的数组中添加 1,并在 diddeselect 方法中用 0 替换该 1 .或者在您的 cellForRow 方法中,您可以在此基础上进行检查。

【讨论】:

以上是关于swift 3中的静态关键字的主要内容,如果未能解决你的问题,请参考以下文章

《从零开始学Swift》学习笔记(Day 36)——静态方法

swift 用在声明中的关键字

协议方法是不是意味着在 Swift 中被覆盖?

Swift的关键字

Java中的覆盖和隐藏以及final关键字

猫猫学Swift之变量和常量