繁体   English   中英

在 Class - Swift 中初始化数组

[英]Initialize Array in Class - Swift

我正在努力使用数组帐户,我真的不知道我应该如何处理它,我应该如何初始化它以便正确地 append object accountFromJohn 到列表帐户。

class Bank {
    var bicCode : String
    var address : String
    var customer : Customer
    var accounts : [BankAccount] = []
    init(bicCode : String, address : String, customer : Customer) {
        self.bicCode = bicCode
        self.address = address
        self.customer = customer
    }
}

var accountFromJohn = BankAccount(accountNumber : 192, balance : 20, customer : John)
var ING = Bank(bicCode : "LUING18", address : "Avenue du Swing", customer : Paul)

ING.accounts.append(accountFromJohn)

print(ING.accounts) // output : [main.BankAccount] ; wanted output : [accountFromJohn]

最好的里格斯,在此先感谢。

一切都很好。

该数组包含BankAccount的实例,而不是任意变量名accountFromJohn

通过打印证明它

print(ING.accounts.first?.customer ?? "Accounts is empty")

但是可以打印accountFromJohn BankAccount中采用CustomStringConvertible并添加属性

var description : String {
    return "accountFrom\(customer)"
}

作为一种方法,您可以在初始化对象时为帐户分配值。

class Bank {
    var bicCode : String
    var address : String
    var customer : Customer
    var accounts : [BankAccount]
    init(bicCode : String, address : String, customer : Customer, accounts: [BankAccount]) {
        self.bicCode = bicCode
        self.address = address
        self.customer = customer
        self.accounts = accounts
    }
}

然后,您可以正确处理这些对象。

var accountFromJohn = [BankAccount(accountNumber : 192, balance : 20, customer : John)]
var ING = Bank(bicCode : "LUING18", address : "Avenue du Swing", customer : Paul, accounts: accountFromJohn)

然后你可以 append 数据到银行列表,比如yourObject.append(ING) ,如果你想更改账户的值,你可以通过yourObject[desiredElement].accounts.append(accountsData)来完成,如果你需要检索值yourObject[desiredElement].accounts

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM