arrays - Swift - 将数据加载到结构数组中

标签 arrays swift struct

如何在 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?

嗯。 abctype 应该适合您的情况? 数组?


更新 1

// Data to load:
// .a   1,2,3
// .b   4,5,6
// .c   7,8,9

因此,如果您确定abc 是相同长度的数组,您可以这样做:

for (index, _) in a.enumerate() {
    Test(a: a[index], b: b[index], c: [index])
}

并且您的所有数据都将被存储。

关于arrays - Swift - 将数据加载到结构数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36785297/

相关文章:

c - 将特定格式的文本文件读入c中的二维数组/矩阵

swift - 列出一个类的所有子类

ios - 结构属性闭包在 Swift 中只运行一次

javascript - 计算数组元素中的键

javascript - 将 JSON 转换为关联数组

swift - Apple-app-site-association 不工作

swift - 在 Swift 中使用 NSTimer

c - 在 C 代码中通过引用将结构传递给函数(编译错误)

c++如何获取具有结构类型的 vector 的大小

java - 将二维数组中每行的 null 元素移动到该行的末尾