当我设置名为 item2 的变量时,这行代码有什么问题?如果名称属性是可选的,为什么不能执行此初始化?
class ShoppingListItem {
var name: String?
var quantity = 1
var purchased = false
}
var item = ShoppingListItem()
var item2 = ShoppingListItem(name:"Orange Juice")
print(item.name)
print(item2.name)
最佳答案
用这段代码
ShoppingListItem(name:"Orange Juice")
您正在调用不存在的 ShoppingListItem
的初始值设定项。
所以只需在类中定义初始化器
class ShoppingListItem {
var name: String?
var quantity = 1
var purchased = false
init(name:String) {
self.name = name
}
init() { }
}
关于ios - 在 Swift 3 中使用默认初始值设定项更改可选属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38381251/