首先,请允许我说这是一个愚蠢的问题所以请在这里跟我说:D。我有一个嵌入在导航控件中的tableview,这是我的主要观点。有一个"添加"按钮,我可以添加"东西"然后当它被触发时,它会在表格视图中显示添加的项目,并使用下面的代码切换回主视图控制器
@IBAction func buttonAddPost_Click(sender: UIButton) {
postMgr.addPost(titleBox.text, description: descriptionBox.text, postDate: date)
self.navigationController.popToRootViewControllerAnimated(true)
}
上面的代码再次将我带回主表视图控制器。
但是当我点击一个单元格将我带到更详细的视图时,应用程序崩溃了。这是代码
override func tableView(tableView: UITableView!, didSelectRowAtIndexPath indexPath: NSIndexPath!) {
let listingPage = self.storyboard.instantiateViewControllerIdentifier("listingPage") as PostListingTableViewController
self.navigationController.pushViewController(listingPage, animated: true)
}
" listingPage"是我尝试去的新视图控制器的故事板ID。我已经在其他地方使用了上述技术几次并且工作得很好,但我不确定这里有什么问题。
我得到的错误: 线程1 0 swift_dynamicCast并突出显示0x1d7150:pushl%ebp线程1:EXC_BREAKPOINT(代码= EXC_I386_BPT) 1 2 Exchange.PostlistTableViewController([app name]。[class name])并突出显示didselectrowatindexpath 。 。
请帮忙......
KM
答案 0 :(得分:1)
该异常告诉您问题是什么 - 您正在转换视图控制器as PostListingTableViewController
,但返回的对象类型为PostlistTableViewController
,因此强制转换会生成异常。
您需要确定正确的类名是什么,并更新故事板或didSelectRowAtIndexPath
以使它们保持一致 - 无论是帖子列表还是后列表。