ban*_*isa 144 struct initialization swift
我有一个定义结构的快速框架:
public struct CollectionTO {
var index: Order
var title: String
var description: String
}
Run Code Online (Sandbox Code Playgroud)
但是,我似乎无法使用另一个导入库的项目中的隐式成员智能初始化程序.错误是'CollectionTO'无法初始化,因为它没有可访问的初始化程序.即它没有给出默认的隐式成员明智的初始化者public关键字.
var collection1 = CollectionTO(index: 1, title: "New Releases", description: "All the new releases")
Run Code Online (Sandbox Code Playgroud)
我必须添加我自己的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;
}
}
Run Code Online (Sandbox Code Playgroud)
...但是如果还有其他人知道的话,我宁可不要这样做?
ban*_*isa 233
我阅读了手册:
"结构类型的默认成员初始化程序如果结构的任何存储属性是私有的,则结构类型的默认成员初始化程序被视为私有.否则,初始化程序的访问级别为内部.
与上面的默认初始化程序一样,如果您希望在另一个模块中使用成员初始化程序时可以初始化公共结构类型,则必须自己提供一个公共成员初始化程序作为类型定义的一部分.
JP *_*ino 32
至少不可能使用默认的成员初始化程序,但您可以通过以下步骤快速进行初始化:
| 归档时间: |
|
| 查看次数: |
19648 次 |
| 最近记录: |