我怎样才能公开默认的成员在斯威夫特的结构初始化?

我有一个定义结构的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; } } 

…但是,如果有其他方式,任何人都知道,我宁愿不要?

我阅读手册:

“结构types的默认成员初始化器如果任何结构的存储属性是私有的,那么结构types的默认成员初始化器被认为是私有的,否则初始化器具有内部访问级别。

与上面的默认初始值设定项一样,如果要在另一个模块中使用成员初始值设定项来初始化公共结构types,则必须自己提供一个公共成员初始值设定项,作为types定义的一部分。

摘自“Swift编程语言”一节“访问控制” 。