gpt4 book ai didi

swift - Tableview 将相同的数据传递给另一个 Tableview

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

我有一个通过 Tableview 显示玩家的应用程序。用户可以“添加”一个新玩家并输入他的姓名、高度、体重、图片等...保存后将被添加到 Tableview 中。他们还可以点击每个玩家,然后将他们带到玩家详细信息 View Controller ,其中显示您输入的所有信息(姓名、高度、体重、 throw 、球棒、位置等)。这是当用户点击玩家将其带到玩家详细信息页面时的当前代码:

var player2 = [Player]()

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "detail" {
let playerDetailScreen = segue.destinationViewController as! PlayerDetailViewController

if let selectedPlayerCell = sender as? PlayerListTableViewCell {
let indexPath = tableView.indexPathForCell(selectedPlayerCell)!
let selectedPlayer = player2[indexPath.row]

playerDetailScreen.playereDetail = selectedPlayer
}

}
}

我正在尝试在 View Controller 内实现一个表格 View ,用户在其中添加新播放器并输入信息。用户可以在该 TableView 中添加某人参加过的球队或年份(我使用 TableView 是因为条目数量可能会有所不同)。我的问题是最好的方法是什么?现在,我有一个名为 Teams.swift 的第二类用于此特定 TableView ,但这是否是最好的方法?我们的想法是然后在详细信息页面上的表格 View 中显示这些数据(同样,因为条目的数量会有所不同),那么如何将数据从一个表格 View 传递到另一个表格 View ?

我应该删除 [Teams] 类并将其放在 [Player] 类下吗?任何想法将不胜感激!

最佳答案

首先,我建议使用:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
// what happens when user selects a cell
let cell = self.tableView.cellForRowAtIndexPath.indexPath // This will give you cell that was selected
let selectedPlayer = cell.player // This gives you the instance of the player (Benefit of using player class)
self.performSegueWithIdentifier("identifier", sender : selectedPlayer)

// ^ This will automatically call prepareforseque method.
}

下一步,在prepareforsegue方法中,执行以下操作:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "detail" {
let playerDetailScreen = segue.destinationViewController as! PlayerDetailViewController

let selectedPlayer = sender as! Player
playerDetailScreen.name = self.selectedPlayer.name
playerDetailScreen.height = self.selectedPlayer.height
... so on.
// So, remember to create property for each name, height, etc.
// inside playerDetailScreen
// This is how you can transfer data


}

}

}

关于swift - Tableview 将相同的数据传递给另一个 Tableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37367510/

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