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'
这个是为什么?

阅读 3.2k
1 个回答

这可能是因为Xcode是beta导致的,算是个bug,解决方法是给可选值赋个值,比如nil

class ShoppingListItem {
var name: String?=nil
var quantity = 1
var purchased = false
}

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进