(Swift) tableView 应用程序 iOS 由于 "Bound value in a conditional binding must be of Optional type" 而失败

(Swift) tableView application iOS fails because of "Bound value in a conditional binding must be of Optional type"

我正在尝试为 iOS 创建一个基于数据库的应用程序,我或多或少被迫使用 Xcode 6.2 Beta 3,因为我使用 6.2 启动项目并运行iOS 8.2 在我的测试设备上。顺便说一下,我发现测试版强制我使用标准键盘,而不是小数点,否则应用程序将停止工作。

我不知道哪里出了问题。当我尝试将该函数注释掉时,此文件中仍然存在错误。 VC-swift-file、tableVC-swift-file 和 datamodel-file 之间是否缺少连接? 我改了一次实体列表的名字,然后改回来,因为我之前有另一个错误。但是在我这样做之后,调试区域似乎也没有捕获我尝试保存到数据库的数据...

错误显示 "Bound value in a conditional binding must be of Optional type"

这是在初始行上标记为红色的代码:

  if let ip = indexPath {
        var data: NSManagedObject = tankningslista[ip.row] as NSManagedObject
    cell.textLabel?.text = data.valueForKey("datum") as String

    }

整个函数如下所示:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

    // Configure the cell...
    let CellID: NSString = "Cell"

    var cell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(CellID) as UITableViewCell

if let ip = indexPath {
        var data: NSManagedObject = tankningslista[ip.row] as NSManagedObject
    cell.textLabel?.text = data.valueForKey("datum") as String

    }


    return cell
}

我已经学习了这个教程:https://www.youtube.com/watch?v=4ymz6i07DRM

在不使用条件的情况下尝试这种方式:

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

// Configure the cell...
let CellID: NSString = "Cell"

var cell: UITableViewCell = tableView.dequeueReusableCellWithIdentifier(CellID) as UITableViewCell
var data: NSManagedObject = tankningslista[indexPath.row] as NSManagedObject
cell.textLabel.text = data.valueForKey("datum") as? String

return cell
}