【问题标题】:Appending an array inside a struct - Swift 2.0在结构中附加一个数组 - Swift 2.0
【发布时间】:2016-01-21 10:51:47
【问题描述】:

我有一个结构

struct Question {
    let title: [String]
    let additionalInfo: String?
    let answers: [String]
}

此外,我还创建了一个具有结构对象值的数组,如下所示

var questions = [
   Question(title: ["What is this color", "Looks like orange"], additionalInfo: nil, answers: [
        "Blue",
        "Red"
        ]),
    Question(title: ["Some random question", "some random question detail"], additionalInfo: "additional info", answers: [
        "London",
        "Liverpool"
        ]),
    Question(title: ["Some random question 2", "Some random question detail 2"], additionalInfo: nil, answers: [
        "some answer 1",
        "some answer 2"
        ])
]

我已经玩了一点,这就是我想出的

var routines = [questions]
self.routines.append(questions(Question(title: "extra value", additionalInfo: nil, answers:nil)))

问题是 - 它不起作用。

在结构体中已经存在的数组中插入值的正确方法是什么?

【问题讨论】:

标签: ios arrays swift struct swift2


【解决方案1】:

这个怎么样:

questions.append(Question(title: ["extra value"], additionalInfo: nil, answers:["answer"]))

【讨论】:

  • 谢谢,它可以工作,但你必须将问题包装在一个数组中。另一个问题是 - 它创建了一个新记录,但是我如何将一个值附加到一个已经存在的记录中?比方说“标题”数组?
  • title 声明为var 而不是let,您可以这样做:questions[2].title.append("something")
【解决方案2】:

不确定附加的questions 在做什么,不应该是

self.routines.append(Question(title:["extra value"], additionalInfo: nil, answers:nil))

【讨论】: