如何在 Swift 中将数据加载到结构数组中?
以下要求的语法是什么?
struct TEST {
var a = 0
var b = 0
var c = 0
}
var test: [TEST] = []
// Data to load:
// .a 1,2,3
// .b 4,5,6
// .c 7,8,9
更新 1
@pacification 抱歉延迟回复。根据您的更新 1,我有这段代码,它运行时没有错误:
struct TEST {
var a: Int
var b: Int
var c: Int
}
var a: [Int] = [1,2,3]
var b: [Int] = [4,5,6]
var c: [Int] = [7,8,9]
let test: [TEST]
for (index, _) in a.enumerate() {
TEST(a: a[index], b: b[index], c: c[index])
}
但是,我看不到如何将值存储在“测试”数组中。我错过了什么?
最佳答案
你应该使用这个:
struct Test {
var a = 0
var b = 0
var c = 0
}
var test: [Test] = [
Test(a: 1, b: 4, c: 7),
Test(a: 2, b: 5, c: 8),
Test(a: 3, b: 6, c: 9)
]
请注意,struct
具有默认的 init
方法 ( more info here ),因此您无需创建它。
更新
I want to initialize the 'test' structure array with a length of 200
你可以这样做:
var test: [Test] = Array(count: 200, repeatedValue: Test())
I want to enter the data for 'a', 'b' and 'c' using this syntax: [1,2,3, ...] Is this possible?
嗯。 a
、b
或 c
的 type
应该适合您的情况? 数组
?
更新 1
// Data to load:
// .a 1,2,3
// .b 4,5,6
// .c 7,8,9
因此,如果您确定a
、b
和c
是相同长度的数组,您可以这样做:
for (index, _) in a.enumerate() {
Test(a: a[index], b: b[index], c: [index])
}
并且您的所有数据都将被存储。
关于arrays - Swift - 将数据加载到结构数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36785297/