我试图在Swift中创建一个简单的数据模型。该模型是一个列表,其中包含名称,大小,颜色和商店等项目。
struct List{
var list: [String]
var name: String
var size: String
var colour: String
var store: String
init(var list:[String], name: String, size: String, colour: String, store: String){
self.list = list
self.name = name
self.size = size
self.colour = colour
self.store = store
list = [name, size, colour, store]
}
如果我将list = [name, size, colour, store]
放在索引0处,那么只有名称存在。如何为一个索引存储多个值
索引0:name1,size1,colour1,store1
索引1:name2,size2,colour2,store2
答案 0 :(得分:5)
您需要定义一个模型来表示列表中的元素
struct Element {
let name: String
let size: String
let colour: String
let store: String
}
var list = [Element]()
let elm = Element(name: "name0", size: "size0", colour: "colour0", store: "store0")
list.append(elm)
let anotherElm = Element(name: "name1", size: "size1", colour: "colour1", store: "store1")
list.append(anotherElm)
let firstElm = list[0] // "name0", "size0", "colour0", "store0"
答案 1 :(得分:1)
swift Tuples
,每一个元素
struct List{
var list: [(String, String, String, String)] = []
// var name: String
// var size: String
// var colour: String
// var store: String
init(name: String, size: String, colour: String, store: String){
let t = (name, size, colour, store)
self.list.append(t)
}
}
或使用两个struct
struct Element {
var name: String
var size: String
var colour: String
var store: String
}
struct List2 {
var list: [Element] = []
init(name: String, size: String, colour: String, store: String){
let t = Element(name: name, size: size, colour: colour, store: store)
self.list.append(t)
}
}