有没有人遇到以下错误? 我试图从uitableviewcontroller导航到uiviewcontroller。 uitableviewcontroller使用NSFetchedResultsController。 应用程序在segue中打破uiviewcontroller(命名为:TaskDetailViewController)
错误:无法将'UIBarButtonItem'(0x1a0d22b50)类型的值转换为'UITableViewCell'(0x1a0d224c0)。 (lldb)
应用中断的代码:
if segue.identifier == "editTask"
{
let cell = sender as! UITableViewCell
let indexPath = tableView.indexPathForCell(cell)
let taskController:TaskDetailViewController = segue.destinationViewController as! TaskDetailViewController
let task:Tasks = fetchedResultController.objectAtIndexPath(indexPath!) as! Tasks
taskController.task = task
}
答案 0 :(得分:1)
问题出在这一行:let cell = sender as! UITableViewCell
。在这种情况下,当用户按下UIBarButtonItem
时,似乎正在执行segue。因此,您的发件人为UIBarButtonItem
,而不是UITableViewCell
。这意味着从sender
(UIBarButtonItem
)到UITableViewCell
的强制转换(如!)将导致崩溃。
答案 1 :(得分:0)
我猜你添加了segue而不是单元格。