Newbie:在结构内引用和初始化结构元素

问题描述 投票:0回答:1

好的,超级新手快速学习者,这里我确定是一个简单的问题,出于某种原因,我无法回头。在下面的代码中,我正在创建一个(非常)简单的通讯簿结构,以了解如何引用和初始化各种元素,尤其是结构中的结构。我做错了什么,有没有更好的办法写这个?我收到错误(使用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"
arrays swift structure initializing
1个回答
0
投票

结构是值类型,请检查此。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)
© www.soinside.com 2019 - 2024. All rights reserved.