我有一个Swift框架,定义了一个结构体:
public struct CollectionTO {
var index: Order
var title: String
var description: String
}
但是,我似乎不能从导入库的另一个项目中使用隐式的按成员初始化器。错误是:
'CollectionTO'不能被初始化,因为它没有可访问的初始化器
也就是说,默认的合成成员初始化器不是公共的。
var collection1 = CollectionTO(index: 1, title: "New Releases", description: "All the new releases")
我必须像这样添加我自己的init方法:
public struct CollectionTO {
var index: Order
var title: String
var description: String
public init(index: Order, title: String, description: String) {
self.index = index;
self.title = title;
self.description = description;
}
}
... 但是有没有一种方法可以做到这一点而不显式地定义一个公共init?