gpt4 book ai didi

ios - 为什么indexPath.row在这里不起作用?

转载 作者:行者123 更新时间:2023-11-30 13:29:13 26 4
gpt4 key购买 nike

我将第一个 TableView var savingUrls 中的值添加到第二个 TableView 中 varDetailsInSection 的第一部分。在prepareForSegue中,Xcode显示“unresolved Identifier for 'indexPath'。我应该如何修改代码?

在第一个 View Controller 中:

var folderNames = [String]()

var savedUrls = [String]()

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

let url = savedUrls[indexPath.row]

self.performSegueWithIdentifier(segueToDetailsTable, sender: url)

}

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

if segue.identifier == segueToDetailsTable {

let detailsVC = segue.destinationViewController as! DetailsViewController

detailsVC.detailsInSection[0].append(savedUrls[indexPath.row])

}
}

在第二个 View Controller 中:

var sectionTitles = ["WebSite", "Date Saved", "Document Used","Add Notes"]

var detailsInSection = [[String]() , [NSDate]() , [AnyObject]() , String]() ]

最佳答案

indexPath 不是定义或传递到 prepareForSegue 的变量。不过,你走在正确的轨道上。由于您在 performSegue... 中将 url 作为发送者传递,因此您不需要 indexPath 来引用 url。您可以检查 sender 是否为 String 并使用 sender 作为所选的 url

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

let url = savedUrls[indexPath.row]

self.performSegueWithIdentifier(segueToDetailsTable, sender: url)

}

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

if let url = sender as? String where segue.identifier == segueToDetailsTable {

let detailsVC = segue.destinationViewController as! DetailsViewController

detailsVC.detailsInSection[0].append(url)

}
}

关于ios - 为什么indexPath.row在这里不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36770237/

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