gpt4 book ai didi

ios - 将字符串从 TableView 单元格传递到 Swift 3 中的 View Controller

转载 作者:行者123 更新时间:2023-11-28 15:06:51 25 4
gpt4 key购买 nike

在 Swift 3 中,我想将包含在 UITableView 的单元格中的字符串传递给后续的 View Controller 。

请注意,我阅读了几个似乎特定于早期版本的 Swift 的答案,所以我想重新打开。例如,the last solution这里看起来很简单,但我无法让它工作。

TableViewController 中,我创建了一个音频文件的名称和发布日期的字符串,并使用此 JSON 提取:

if let shows_list = json as? NSArray
{
for i in 0 ..< data_list.count
{
if let shows_obj = shows_list[i] as? NSDictionary
{
let episode_name = shows_obj["episode"] as? String
let episode_date = shows_obj["date"] as? String
TableData.append(episode_date! + " | " + episode_name!)
let testString = TableData.append(episode_date! + " | " + episode_name!)

// the part above runs and will add the string into each cell. now here, I want to pass the value of that string into a UILabel called episodeTitle in the target view controller

func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let indexPath = self.tableView.indexPathForSelectedRow {
let destinationVC = segue.cellPasser
EpisodeViewController.text = testString //this is the string in second view controller
}
}
}
}
}

这会抛出两个错误:

  1. “UIStoryboardSegue”类型的值没有成员“cellPasser”

在 Storyboard 中,我向 Show segue 添加了一个名为“cellPasser”的标识符。我相信我应该能够在这里调用它,但它被标记了。

  1. EpisodeViewController.episodeTitle = testString

我在 EpisodeViewController 中有一个名为 episodeTitle 的导出,所以我想知道是否有除此之外的首选方式将字符串传递到类似的元素中。

我是 Swift 的新手——希望有人能找到更好的方法来做到这一点。

编辑:如果有用,这里是从 segue 链接的 View Controller 。

class EpisodeViewController: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

// Do any additional setup after loading the view.
}

@IBOutlet var episodeTitle: UILabel!

最佳答案

以下是将值从 TableViewController 传递到下一个 ViewController 的步骤:

  1. 在 TableViewController 中你应该声明一个 didSelectRowAt 方法。
  2. 声明一个为segue做准备的方法
  3. 不要忘记在第二个 View Controller 中声明一个变量。

1.

func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
self.performSegue(withIdentifier: "Identifier", sender: indexPath)
}

2.

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "Identifier" {
let vc = segue.destination as! NameOfYourViewController
vc.variableInSecondVc = variableInTableView
}
}

3.

var variableInSecondVc = ""

关于ios - 将字符串从 TableView 单元格传递到 Swift 3 中的 View Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48314743/

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