gpt4 book ai didi

ios - UITable DidSelectRowAtIndexPath 未通过 segue 发送数据(意外发现为零)

转载 作者:行者123 更新时间:2023-11-28 10:21:20 25 4
gpt4 key购买 nike

我正在尝试将数据从 viewController A 中的一个表发送到 viewController B。但是,每当我尝试这样做时,我都会收到错误消息 Unexpectedly found nil

我的所有数据都在一个数据类数组中,该数组被调用并写入表格单元格,然后我有一个 segue 应该将 selectedCell 数据传递到第二个 viewController 称为 cellData

if segue.identifier == "viewMemorySegue" {
let viewMemoryVC = segue.destinationViewController as! memoryViewierViewController
viewMemoryVC.cellData = selectedCell!
}

然后我有一个 didSelectRow 函数,它设置 selectedCell 数据,然后 执行 segue

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
selectedCell = cacheData[indexPath.row]
tableView.deselectRowAtIndexPath(indexPath, animated: true)
performSegueWithIdentifier("viewMemorySegue", sender: self)
}

我已经厌倦了 didSelect 函数中的 print(cellData.memoryTitle) 以查看它是否为零,但是它打印出正确的数据。

我是 Xcode 的新手并且很快,所以感谢所有帮助!!!

GITHub 项目链接 https://github.com/Matthammond96/Relive

最佳答案

你在你的 Storyboard中设置了一个选择转场,它被设置为打开 MemoryViewerViewController 而我没有在 FindCacheViewController 中看到一个委托(delegate)集所以你的 didSelectRowAtIndexPath 函数未被调用,因此...您的 selectedCell 属性未被设置。

enter image description here

我会删除您拥有的 Storyboard segue,正确设置您的代表,然后它应该可以工作。

我在 didSelectRowAtIndexPath 中添加了一个打印输出,但它从未被调用过。

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
print("TEST")
selectedCell = cacheData[indexPath.row]
tableView.deselectRowAtIndexPath(indexPath, animated: true)
//performSegueWithIdentifier("viewMemorySegue", sender: self)
}

正如您会注意到的,我还注释掉了 performSegueWithIdentifier 方法调用,并且继续尝试从您拥有的 Storyboard 继续发生。

关于ios - UITable DidSelectRowAtIndexPath 未通过 segue 发送数据(意外发现为零),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34547590/

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