gpt4 book ai didi

swift - 如何快速将 UITableViewCell 数据发送到另一个 ViewController?

转载 作者:可可西里 更新时间:2023-11-01 00:54:24 25 4
gpt4 key购买 nike

我正在尝试将一条消息从 messageArray 发送到另一个 UIViewController 以便我可以加载消息的评论。单击单元格时如何发送消息数据结构?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "messageCell") as? feedMessagesCell else {return UITableViewCell()}


let message = messageArray[indexPath.row]
cell.configureCell(content: message.content, userName: message.userName)
return cell

}

最佳答案

首先,不要guard 重用单元格。代码不能崩溃。如果是这样,则表明存在设计错误。并使用返回非可选单元格的 API。

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

要将数据发送到另一个 View Controller ,请通过将表格 View 单元格连接到目标 Controller ,在 Interface Builder 中创建一个 segue。

prepare(for segue 中,发送者是单元格。将 PushFeedDetail 更改为真正的标识符,将 MyDestinationController 更改为真正的类。创建一个目标 Controller 中的 message 属性。从单元格中获取索引路径并传递数据源数组中的项目。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "PushFeedDetail" {
let selectedIndexPath = tableView.indexPath(for: sender as! feedMessagesCell)!
let destinationController = segue.destination as! MyDestinationController
let message = messageArray[selectedIndexPath.row]
destinationController.message = message
}
}

关于swift - 如何快速将 UITableViewCell 数据发送到另一个 ViewController?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53358876/

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