我正在尝试使用Swift在Xcode中创建一个TO-DO列表应用程序,并且在“if let path = indexPath {”行中写入“条件中的绑定值”时遇到错误写入其中一个函数方法绑定必须是可选类型“。
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
if let path = indexPath {
let currentString = dataSource[path.section][path.row]
cell.textLabel?.text = currentString
}
return cell
}
答案 0 :(得分:2)
由于indexpath
不是可选的,因此您无需使用条件绑定
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
let currentString = dataSource[indexPath.section][indexPath.row]
cell.textLabel?.text = currentString
return cell
}
答案 1 :(得分:2)
为什么你想要使用两个constant
?
修复代码:
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
cell.textLabel?.text = dataSource[indexPath.section][indexPath.row]
}
return cell
}
答案 2 :(得分:0)
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as! UITableViewCell
cell.textLabel?.text = dataSource[indexPath.section][indexPath.row]
return cell
}
使用此代码,因为我认为我之前的想法并不好。
您不需要Leo建议的条件绑定。