6.0.1和表更改“UILabel? 没有名为“text”的成员
我正在通过Swift表演示工作,他们都似乎6.0.1下有相同的错误消息。 不知道如何解决这个问题:
尝试这个:
cell.textLabel!.text = self.tableData[indexPath.row]
阅读这篇关于可选项的文章: Swift中的可选项
更新:
现在更好的方法是使用:
cell.textLabel?.text = self.tableData[indexPath.row]
在Xcode 6.1.1中,你必须解开单元格和textLabel:
cell!.textLabel!.text =“你的文字”
如果你在这里查找textLabel
属性文档,你会发现它定义为:
var textLabel: UILabel? { get }
这表明该属性是可选的。 这意味着它可能包含一个有效的值,或者它可能是零。 如果你100%确定你的单元格会有这个textLabel填充,那么你可以使用derdidabuild议的方法,即:
cell.textLabel!.text = self.tableData[indexPath.row]
然而,正如Patrick Lynch正确地指出的那样,如果您对所遇到的所有Optionals都这样做,那么您只是为将来的运行时崩溃(定时炸弹)设置自己的位置。 最好的做法是写代码将优雅地处理的情况下,可选是零。 在这种情况下,整个expression式评估为零。 像这样的东西:
cell.textLabel?.text = self.tableData[indexPath.row]
虽然我没有关于这个话题的信息,但是这里有一个非常好的写法,可以让你立刻加快速度。 我希望有帮助。