小编run*_*ios的帖子

swift中的默认初始化程序

我用字符串选项(String?)创建了一个swift类,并在不同的swift文件中实例化了这个类,并得到了编译错误.当我在同一个文件中实例化该类时,没有错误.我在做什么不对劲?我仔细检查了行为,即使使用swift文档中给出的类定义,这种行为也是一致的:

class ShoppingListItem {
    var name: String?
    var quantity = 1
    var purchased = false
}
var item = ShoppingListItem()
Run Code Online (Sandbox Code Playgroud)

摘录自:Apple Inc."The Swift Programming Language."iBooks.https://itun.es/in/jEUH0.l

如果var item = ShoppingListItem()在做appDelegate.swift,从功能上application:didFinishLaunchingWithOptions我们得到的错误:

<class> cannot be initialised because it has no accessible initializers
Run Code Online (Sandbox Code Playgroud)

OTOH,如果我们在类声明结束后立即保持实例化,就没有问题.

编辑:此问题不是showstopper,当前的默认初始化行为似乎不一致或我需要更好地理解它

swift

20
推荐指数
2
解决办法
2万
查看次数

标签 统计

swift ×1