首页 > Swfit 在另一文件中无法调用类的默认构造器

Swfit 在另一文件中无法调用类的默认构造器

这段代码

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
}

这样你在其他文件调用的时候就可以使用默认构造器了。

【热门文章】
【热门文章】