行如果让ip = indexPath?,我收到以下错误:条件绑定中的绑定值必须是可选类型
如何解决 indexPath 以解决此问题?
<>
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let CellId:String = "Cell"
var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier(CellId) as UITableViewCell
if let ip = indexPath? {
cell.textLabel?.text = myData[ip.row] as String
}
return cell
}
答案 0 :(得分:2)
indexPath
不是可选类型(即NSIndexPath?
)所以不需要用if let ip = indexPath?
打开它(因此错误消息)
您可以按原样使用它:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let CellId:String = "Cell"
var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier(CellId) as UITableViewCell
cell.textLabel?.text = myData[indexPath.row] as String
return cell
}
答案 1 :(得分:0)
indexPath不是可选值。因此,在任何情况下,它的值都不会是nil
。
所以你不能写(不能打开非可选值):
if let ip = indexPath?
所以改变代码如:
override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let CellId:String = "Cell"
var cell:UITableViewCell = tableView.dequeueReusableCellWithIdentifier(CellId) as UITableViewCell
cell.textLabel?.text = myData[indexPath.row] as String
return cell
}