gpt4 book ai didi

arrays - 通过结构和数组填充 Tableview

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

    struct Games {
var GameName : String
var GameCheats : [Cheats]
}

struct Cheats {
var CheatName : String
var CheatCode : String
var CheatDescription : String
}

let COD4 = Games(GameName: "Name", GameCheats: [Cheats(CheatName: "Cheat", CheatCode: "Code", CheatDescription: "Description")])

上面的代码是我目前在我的测试项目中的一个 swift 文件中的代码。我现在正尝试从上方获取值来填充表格 View ,请参见下文:

class GamesListViewController: UITableViewController {

var ArrayOfGames = [COD4]

override func viewDidLoad() {
super.viewDidLoad()
}

override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}

override func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return ArrayOfGames.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
cell.textLabel?.text = ArrayOfGames[indexPath.row]
return cell
}

}

但是我收到一个错误:“无法将类型值‘游戏’分配给类型‘字符串?’ "

我是 swift 的新手,但确实有 php 方面的经验,我正在认真努力地转移我的知识:(

感谢任何帮助。

致以诚挚的问候罗里

最佳答案

Cell 的 textLabel?.textString 类型。您正在尝试为其分配一个 Game:

cell.textLabel?.text = ArrayOfGames[indexPath.row]

您需要从您的 Game 对象创建一个字符串来描述您的游戏。最简单的解决方案是使用 name:

cell.textLabel?.text = ArrayOfGames[indexPath.row].GameName

这将编译并运行。 Cell 的标签将与您的游戏名称相对应。

可以用作弊列表形成更有趣的描述:

let cheatList = ArrayOfGames[indexPath.row]
.GameCheats
.map { "\($0.CheatName): \($0.CheatCode) \($0.CheatDescription)" }
.joinWithSeparator(", ")
cell.textLabel?.text = "\(ArrayOfGames[indexPath.row].GameName) \(cheatList)"

关于arrays - 通过结构和数组填充 Tableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37098535/

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