这段代码
class ShoppingListItem {
var name: String?
var quantity = 1
var purchased = false
}
var item = ShoppingListItem()
是可以编译成功的
如果最后一句声明var item = ShoppingListItem()
在另一文件中,则编译异常, 异常信息是:'ShoppingListItem' does not have a member named 'init'
这个是为什么?
这可能是因为Xcode是beta导致的,算是个bug,解决方法是给可选值赋个值,比如nil
class ShoppingListItem {
var name: String?=nil
var quantity = 1
var purchased = false
}
这样你在其他文件调用的时候就可以使用默认构造器了。