Swift 对默认初始化器的访问控制

Posted

技术标签:

【中文标题】Swift 对默认初始化器的访问控制【英文标题】:Swift's access control for default initializer 【发布时间】:2014-08-31 19:16:47 【问题描述】:

在 Swift 编程语言指南中,它说:

“默认初始化器与它的类型具有相同的访问级别 初始化。”

摘自:Apple Inc. “Swift 编程语言”。电子书。 https://itun.es/us/jEUH0.l

然后它说:

“对于定义为 public 的类型,默认初始化器是 被认为是内部的。如果您希望公共类型可初始化 在另一个模块中使用无参数初始化程序时,您必须 自己提供一个公共的无参数初始化器作为 类型的定义。”

摘自:Apple Inc. “Swift 编程语言”。电子书。 https://itun.es/us/jEUH0.l

第二个说法和第一个不矛盾吗?

【问题讨论】:

【参考方案1】:

没有。

第二个陈述只是对第一个陈述的补充说明。

我认为它想说公共访问类型是一种特殊情况: 公共访问案例的默认初始值设定项的访问级别是内部的。 如果想要提供一个公共访问默认初始化器,那么他需要明确地这样做。

如果我错了,请纠正我。

【讨论】:

以上是关于Swift 对默认初始化器的访问控制的主要内容,如果未能解决你的问题,请参考以下文章

开心档之Swift 访问控制

Swift 访问控制

Swift之深入解析访问控制权限

Swift 访问级别控制

Swift学习之访问控制详解

Swift23-访问控制