gpt4 book ai didi

ios - Swift如何使用nil属性创建和测试对象?

转载 作者:行者123 更新时间:2023-12-01 17:37:20 25 4
gpt4 key购买 nike

我试图让我了解可选对象,比如说我有以下 class :

class Contact {

var displayName:String

init(displayName:String) {
self.displayName = displayName
}

}

class Contacts {
func create(displayName:String) -> Contact {

return Contact(displayName: displayName)
}
}

如您所见,Contact类具有一个字段displayName,但是此值在初始化时可以为nil。

因此,要初始化此类,我通常会这样做:
let contact = Contact(displayName: "Test Name")

但相反,我也希望能够做到这一点:
let contact = Contact()

要么
let contact = Contacts().create()

最佳答案

您可以将init参数设置为可选的String?,默认情况下
nil:

class Contact {
var displayName: String?

init(displayName: String? = nil) {
self.displayName = displayName
}
}

let contact1 = Contact()
let contact2 = Contact(displayName: "John")
Contacts类的工作原理也相同:
class Contacts {
func create(displayName: String? = nil) -> Contact {
return Contact(displayName: displayName)
}
}

let contacts = Contacts()
let contact3 = contacts.create()
let contact4 = contacts.create("Mary")

关于ios - Swift如何使用nil属性创建和测试对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36903472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com