我正在尝试为iOS创建一个基于数据库的应用程序,我或多或少地被迫使用Xcode 6.2 Beta 3,因为我用6.2启动了项目并在我的测试设备上运行iOS 8.2。顺便说一下,我发现beta会强制我使用标准键盘,而不是小数点,否则应用就会停止工作。
我无法弄清楚出了什么问题。当我试图评论该功能时,该文件中的某些内容仍然存在问题。 VC-swift文件,tableVC-swift文件和datamodel文件之间是否有任何缺失的连接? 我改变了实体列表的名称一次,然后又改回来了,因为我之前遇到过另一个错误。但是在我这样做后,似乎调试区域没有捕获我尝试保存到数据库的数据...
错误显示“条件绑定中的绑定值必须是可选类型”
以下是初始行标记为红色的代码:
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
}
答案 0 :(得分:0)
尝试这种方式而不使用条件:
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
}