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] 

虽然我没有关于这个话题的信息,但是这里有一个非常好的写法,可以让你立刻加快速度。 我希望有帮助。