在swift中使用struct创建数组

时间:2014-11-13 21:42:59

标签: ios xcode swift

因此。我试图用Swift中的struct创建一个人,我想知道如何使用我的struct的实例创建一个数组。

有人能告诉我怎么做吗?

struct Person{
     var name: String
     var boyOrGirl: Bool

     init(names: String, bOg: Bool){
        self.name = names
        self.boyOrGirl = bOg
    }
}
var personArray: Person = [["Heine",true], ["Magnus",true]]

2 个答案:

答案 0 :(得分:4)

Person的实例创建为:

Person(names: "Heine", bOg: true)

您的代码中有2个错误:

var personArray: Person = [["Heine",true], ["Magnus",true]]
                 ^^^^^^    ^^^^^^^^^^^^^^
  1. personArray应该是一个数组,而您将其声明为Person
  2. 你在这里做的是添加一个包含字符串和布尔值
  3. 的数组

    正确的语法是:

    var personArray: [Person] = [Person(names: "Heine", bOg: true), Person(names: "Magnus",bOg: true)]
    

    请注意,可以省略变量类型[Person],因为编译器可以从分配给personArray变量的值推断出类型:

    var personArray = [Person(names: "Heine", bOg: true), Person(names: "Magnus",bOg: true)]
    

答案 1 :(得分:1)

您将使用:

var personArray: [Person] = [Person(name:"Heine",bOg:true), Person(name:"Magnus",bOg:true)]

或者,因为可以推断出数组类型,甚至:

var personArray = [Person(name:"Heine",bOg:true), Person(name:"Magnus",bOg:true)]