gpt4 book ai didi

ios - 从 UITableViewCell 到 DetailViewController 的 segue 不起作用

转载 作者:行者123 更新时间:2023-11-29 01:37:01 25 4
gpt4 key购买 nike

我遇到了这个问题,当我在 iOS 模拟器上运行我的应用程序时,我从自定义表格 View 单元格到详细 View Controller 的转接不起作用。我可以单击该单元格,但随后该应用程序会卡住,我无法再做任何事情,而不必停止运行该应用程序并重新启动它。我的应用程序中有几个地方有这样的 segues,只有一个可以正常工作,其他的则不能。我已经确保 segue 标识符没问题,但仍然没有任何效果。关于为什么会发生这种情况的任何想法?

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "showDetail" {

let cell = sender as! UITableViewCell
let indexPath = tableView.indexPathForCell(cell)

let detailViewController: DetailTableViewController = segue.destinationViewController as! DetailTableViewController

let objectAtIndex: Tasks = fetchedResultsController.objectAtIndexPath(indexPath!) as! Tasks

detailViewController.receivingObject = objectAtIndex

}

}

最佳答案

添加此扩展以在 segueing 时绕过导航 Controller

extension UIViewController{
var visibleVC: UIViewController {
if self is UINavigationController{
if let cvc = (self as! UINavigationController).visibleViewController { return cvc }
}
return self
}
}

然后试试这个 prepare segue func

if segue.identifier == "showDetail" {
if let cell = sender as! UITableViewCell{
let indexPath = tableView.indexPathForCell(cell)
if let let detailViewController = segue.destinationViewController. visibleVC as! DetailTableViewController{
if let objectAtIndex = fetchedResultsController.objectAtIndexPath(indexPath!) as! Tasks{
detailViewController.receivingObject = objectAtIndex
} else { print("unlikely") }
} else { print("wiring problem in storyboard") }
} else { print("segue is not initiated from a cell") }
}

这将在列表中更容易找出问题所在,但我认为它只是 nav vc 妨碍了。

关于ios - 从 UITableViewCell 到 DetailViewController 的 segue 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32851810/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com