如何将结构加载到数组中?

Fre*_*Lee 1 arrays struct swift

我正在尝试使用结构数据加载一个简单的数组。
我读过不要使用元组,所以我使用结构。

以下是在操场上写的;但数组仍然为零。

我究竟做错了什么?

struct person {
    var firstName:String?
    var lastName:String?
    init(firstName:String, lastName:String) {
        self.firstName = firstName
        self.lastName = lastName
    }
}

let john = person(firstName: "John", lastName: "Doe")
let rich = person(firstName: "Richard", lastName: "Brauer")
let ric = person(firstName: "Ric", lastName: "Lee")
let Merrideth = person(firstName: "Merrideth", lastName: "Lind")

var myPeople:[person]?

myPeople?.append(john)
myPeople?.append(rich)
myPeople?.append(ric)
myPeople?.append(Merrideth)

println(myPeople)
Run Code Online (Sandbox Code Playgroud)

Kir*_*ins 5

var myPeople:[person]?只是一个声明,因此数组在此之后仍然为零。在myPeople?.append(john)可选链中使用并且append仅在myPeople不为零时才执行。尝试

var myPeople:[person]? = [] 
myPeople?.append(john)
Run Code Online (Sandbox Code Playgroud)

或者

var myPeople:[person] = [] 
myPeople.append(john)
Run Code Online (Sandbox Code Playgroud)