SWIFT“三层数组”
SWIFT "3 levels array"
我在使用数组并在 swift 5 on OSX 中声明它时遇到一点问题:
我知道 [[String]]
是像 [["team1", "2 goals"], ["team2", "0 goals"]]
这样的数组的数组。好吧,这对我来说很容易,但让我解释一下我的情况:
我有一个“系统”数组,就像 -> ["nes", "Xbox" , "ps2"]
每个“系统”都有“游戏”,“游戏”中的每个“游戏”都有一系列属性,例如“名称”、“缩略图”、“视频”等...
我需要创建一个类似 ->
的数组
["xbox" , [["game1",array of properties],["game2", array of properties]]]
我试图定义一个 [[[String]]]
var allMyGames = [[[String]]]()
但我不知道如何myGames.append这个...
我有一个名为 myGames = [[String]]()
的数组,其中包含 ["game1", "property1", "property2" ,"property3"] ["game2", "property1", "property2" ,"属性 3"]
和另一个系统数组 mySystems = [String]()
我包含像 ["nes", "xbox", "ps2"]
这样的数据
有什么想法吗?
提前致谢
你最好使用结构来建模你的问题。这是您展示如何开始对问题建模的开始。
好的,让我们开始创建一个具有名称、缩略图和视频的游戏。
struct Game {
let name: String
let thumbnailURL: URL
let videoURL: URL
}
现在我们可以创建一个系统...
struct System {
let name: String
let games: [Game]
}
现在您可以创建系统阵列...
let systems = [
System(
name: "Xbox",
games: [
Game(name: "Halo", thumbnailURL: ... videoURL: ...),
]
),
System(
name: "NES",
games: [
Game(name: "Super Mario Bros", thumbnailURL: ... videoURL: ...),
]
)
]
如您所见,您最终得到了一种更简单的方法来为不同的系统和游戏等建模...
我在使用数组并在 swift 5 on OSX 中声明它时遇到一点问题:
我知道
[[String]]
是像[["team1", "2 goals"], ["team2", "0 goals"]]
这样的数组的数组。好吧,这对我来说很容易,但让我解释一下我的情况:我有一个“系统”数组,就像 ->
["nes", "Xbox" , "ps2"]
每个“系统”都有“游戏”,“游戏”中的每个“游戏”都有一系列属性,例如“名称”、“缩略图”、“视频”等...
我需要创建一个类似 ->
的数组["xbox" , [["game1",array of properties],["game2", array of properties]]]
我试图定义一个 [[[String]]]
var allMyGames = [[[String]]]()
但我不知道如何myGames.append这个...
我有一个名为 myGames = [[String]]()
的数组,其中包含 ["game1", "property1", "property2" ,"property3"] ["game2", "property1", "property2" ,"属性 3"]
和另一个系统数组 mySystems = [String]()
我包含像 ["nes", "xbox", "ps2"]
有什么想法吗?
提前致谢
你最好使用结构来建模你的问题。这是您展示如何开始对问题建模的开始。
好的,让我们开始创建一个具有名称、缩略图和视频的游戏。
struct Game {
let name: String
let thumbnailURL: URL
let videoURL: URL
}
现在我们可以创建一个系统...
struct System {
let name: String
let games: [Game]
}
现在您可以创建系统阵列...
let systems = [
System(
name: "Xbox",
games: [
Game(name: "Halo", thumbnailURL: ... videoURL: ...),
]
),
System(
name: "NES",
games: [
Game(name: "Super Mario Bros", thumbnailURL: ... videoURL: ...),
]
)
]
如您所见,您最终得到了一种更简单的方法来为不同的系统和游戏等建模...