gpt4 book ai didi

ios - 如何将标签中的数据从 TableView 行操作发送到 View Controller ?

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

我试图通过单元格的“编辑” TableView 行操作将数据从 TableView 单元格传递到另一个 View Controller 。

override func tableView(_ tableView: UITableView, editActionsForRowAt indexPath: IndexPath) -> [UITableViewRowAction]? {

let edit = UITableViewRowAction(style: .normal, title: "Edit") { (action, indexPath) in

let editViewController = self.storyboard?.instantiateViewController(withIdentifier: "EditViewController") as! EditViewController
self.present(editViewController, animated: true, completion: nil)

let cell = self.recipeList[indexPath.row] as? RecipeTableViewCell

editViewController.nameTextField.text = cell?.recipeNameLabel.text
}

edit.backgroundColor = UIColor(red: 167.0/255.0, green: 204.0/255.0, blue: 181.0/255.0, alpha: 1.0)

return [edit]
}

这是我的行行为函数单元格...

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCell(withIdentifier: "RecipeCell", for: indexPath) as! RecipeTableViewCell

let recipe = recipeList[indexPath.row]

cell.recipeNameLabel!.text = recipe.name
cell.ratingControl.rating = recipe.rating
}
return cell
}

最佳答案

不要传递目标 VC 中的每个值,而是尝试仅传递 recipe 对象。然后从该对象获取值并填充您的控件。

1) 在 EditViewController 中创建 recipe 对象

 var editRecipe : Recipe! // Your Model class

2) 赋值

let editViewController = self.storyboard?.instantiateViewController(withIdentifier: "EditViewController") as! EditViewController
editViewController. editRecipe = recipeList[indexPath.row]
self.present(editViewController, animated: true, completion: nil)

3) 在EditViewControllerViewDidload

if editRecipe != nil {
//Fill data in lbls
//lbl_name.text = editRecipe.name
}

关于ios - 如何将标签中的数据从 TableView 行操作发送到 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54216565/

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