这是我的Swift代码,用于生成我的表格 View 。我试图建立一个带有明细标签的tableView。我相信造成这个问题是因为
if (cell == nil) {
println("1")
cell = UITableViewCell(style: .Subtitle, reuseIdentifier: "CellSubtitle")
//cell = tableViewCell
}
永远不会被调用,因此永远不会使用
UITableViewCellStyle.Subtitle
样式初始化单元格。这是该方法所需的代码: func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!) -> UITableViewCell!
{
println("start TableViewCellForRowAtIndexPath")
var cell: UITableViewCell! = tableView.dequeueReusableCellWithIdentifier("CellSubtitle") as UITableViewCell
if (cell == nil) {
println("1")
cell = UITableViewCell(style: UITableViewCellStyle.Subtitle, reuseIdentifier: "CellSubtitle")
//cell = tableViewCell
}
cell.textLabel.text = instructions[indexPath.row].text
println("2")
//cell.detailTextLabel
cell.detailTextLabel.text = "HI"
println("3")
这是该方法的控制台输出:
start load
1
2
done load
start TableViewCellForRowAtIndexPath
2
fatal error: Can't unwrap Optional.None
(lldb)
我如何初始化
detailTextLabel
以便插入文本?当我尝试设置标签的文本时,我收到fatal error: Can't unwrap Optional.None
。为什么会收到此错误?该单元不是在 Storyboard上创建的。我初始化了单元格或使用
tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "CellSubtitle")
注册了它的类 最佳答案
我假设您是在 Storyboard 中创建单元格的,所以这就是为什么从不调用“if”子句的原因。您只需要在 Storyboard 中的检查器中将单元格的样式更改为“字幕”即可(并删除该if子句)。
关于ios - Swift UITableViewCell detailTextLabel.text引发错误 'fatal error: Can' t展开Optional.None',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24190284/