gpt4 book ai didi

ios - 接收器 ... 没有标识符错误的 segue

转载 作者:行者123 更新时间:2023-11-28 09:06:10 33 4
gpt4 key购买 nike

有问题的代码:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

tableView.deselectRowAtIndexPath(indexPath, animated: true)

var card: String

if (tableView == self.searchDisplayController?.searchResultsTableView){
card = self.filtered[indexPath.row]
}

else{
card = self.array[indexPath.row]
}



let destinationVC = SearchViewController()
destinationVC.searchString = card
destinationVC.performSegueWithIdentifier("ResultSegue", sender: self)

}

当我的表格中的一个单元格被选中时,我试图将一个字符串传递给另一个 View 。在 Storyboard 中,我将 segue 标识符命名为“ResultSegue”。

当我运行我的应用程序时会发生什么,当我单击一个单元格时它加载下一个 View ,而我发送的变量没有更新,然后如果我返回并单击一个新单元格应用程序将崩溃并给我标题警告。

我试过干净地运行,并按照其他线程的建议重置模拟器,但没有任何变化。

最佳答案

您应该在 prepareForSegue 函数中传递字符串而不是 didSelectRowAtIndexPath 函数。

而不是像下面那样使用 didSelectRowAtIndexPath:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "ResultSegue" {

if let indexPath = self.tableView.indexPathForSelectedRow() {
var card: String
if (tableView == self.searchDisplayController?.searchResultsTableView) {
card = self.filtered[indexPath.row]
} else {
card = self.array[indexPath.row]
}
(segue.destinationViewController as SearchViewController).searchString = card
}
}
}

关于ios - 接收器 ... 没有标识符错误的 segue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30688817/

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