好的,超级新手快速学习者,这里我确定是一个简单的问题,出于某种原因,我无法回头。在下面的代码中,我正在创建一个(非常)简单的通讯簿结构,以了解如何引用和初始化各种元素,尤其是结构中的结构。我做错了什么,有没有更好的办法写这个?我收到错误(使用Swift Playground)。在此先感谢您的理解:)
struct AddressPageStruct {
let firstName: String
let lastName: String
let cellPhone: Int
init(f: String, l:String, c:Int) {
firstName = f
lastName = l
cellPhone = c
}
}
struct AddressBookStruct {
let color: String
let size: String
var page = [AddressPageStruct]
}
var littleBlackBook = AddressBookStruct.self
littleBlackBook.init(color: "Black", size: "Little")
littleBlackBook.page[0].cellPhone = 6191234567
littleBlackBook.page[0].firstName = "Bob"
littleBlackBook.page[0].lastName = "Smith"
结构是值类型,请检查此。structure vs class in swift language,
您无法制作出这个littleBlackBook.page [0] .cellPhone,因为cellPhone是常量,您可以使用let来代替,而要使用构造函数,同时我也可以更改AddressPageStruct的空数组的页面
import Cocoa
struct AddressPageStruct {
let firstName: String
let lastName: String
let cellPhone: Int
init(f: String, l:String, c:Int) {
firstName = f
lastName = l
cellPhone = c
}
}
struct AddressBookStruct {
let color: String
let size: String
var page = [AddressPageStruct]()
}
var littleBlackBook = AddressBookStruct(color: "Black", size: "Little")
littleBlackBook.page.append(AddressPageStruct(f: "Bob", l: "Smith", c: 6191234567))
print(littleBlackBook.page)