gpt4 book ai didi

ios - 如何知道哪个单元格打开了 UiTableViewController?

转载 作者:行者123 更新时间:2023-11-30 14:19:23 24 4
gpt4 key购买 nike

我有两个 UITableViewController:SettingsViewControllerDetailsViewController。我想要一个用于不同设置Details Controller ,即“语言”、“货币”、“可见性”等。

因此,我需要知道在 DetailsViewController 中,SettingsViewController 中的哪个单元格打开了它。

我还不太擅长 Swift,因此我在 Interface Builder 中为 SettingsViewController 构建单元格,并且其代码中没有 cellForRowAtIndexPath 方法。我需要实现这个方法吗?或者,也许我可以通过索引(或通过标签名称)获取特定的单元格?但为此我需要将整个 SettingsViewController 连接到 DetailsViewController,而且我也不知道该怎么做。

事实上,我在 DetailsViewController 中需要类似的东西:

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
# if it was called by "Language" cell
return 2
# if it was called by "Currency" cell
return 5
# else
return 7
}

感谢您的帮助!如果您需要这些 Controller 的代码,我会添加它,但实际上它没有什么特别的,只是带有标准 return 的标准方法。

最佳答案

您必须实现 prepareForSegue:sender: 方法,如下 @dasdom 所说:

// SettingsViewController.swift
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "Storyboard Segue Identifier" {
// then you get index with `indexPathForSelectedRow`
if let indexPath = self.tableView.indexPathForSelectedRow() {
let controller = segue.destinationViewController as DetailsViewController
// configure the controller
// controller.xxx = xxx
}
}
}

关于ios - 如何知道哪个单元格打开了 UiTableViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30684952/

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