gpt4 book ai didi

ios - 用 Swift 中的 SQLite 替换字符串数组

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

我正在尝试使用来自 SQLite 的数据更新字符串数组。我尝试使用的数据称为 gameGAMETABLEDATA,它是一个字符串数组。我可以通过一个操作在 SQLite 中将字符串数组保存为 gameGAMETABLEDATA,当我 println(gameGAMETABLEDATA) 时,它返回:

[cricket3.png, cricket1.png, cricket1.png, cricket1.png, cricket1.png, cricket1.png, cricket1.png].

所以里面的值是一个字符串数组。然而,Xcode 并没有将 SQLite 中的这个值识别为字符串数组,而是一个字符串。我知道是因为当我尝试更改 GameViewController.tableData 以匹配 gameGAMETABLEDATA[index] 时出现错误

SavedGames.swift

var gameGAMETABLEDATA: [String] = []

//Error below!!! "Cannot assign a value of type 'String' to value of type [String]"
GameViewController.tableData = gameGAMETABLEDATA[index]

}

GameViewController.swift

var tableData: [String] = ["cricket1.png", "cricket1.png", "cricket1.png", "cricket1.png", "cricket1.png", "cricket1.png", "cricket1.png"]

这是怎么回事?当我执行 GameViewController.tableData = [gameGAMETABLEDATA[index]] 时,它不起作用。你能帮忙的话,我会很高兴。谢谢。

最佳答案

SQLite 支持有限数量的列类型,但是:

Any column can still store any type of data.

https://www.sqlite.org/datatype3.html

SQLite 不支持数组列,但文本很丰富(BLOB 更丰富)。您可以使用这种丰富性来序列化和反序列化几乎任何东西。

在您的情况下,您似乎关心您控制的字符串数组(引用您控制的文件)。假设您的文件名都缺少字符,您可以使用这样的分隔符(例如,逗号)将它们连接成一个字符串,然后序列化结果:

let files = ["cricket1.png", "cricket2.png" /* … */]
let text = files.joined(separator: ",")
// Save `text` to your database, as "cricket1.png,cricket2.png".

要从数据库反序列化,例如text 变量中:

let files = text.split(separator: ",")
// Use `files` as above.

关于ios - 用 Swift 中的 SQLite 替换字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30203904/

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