“无法从非公开课继承”作为Xcode的8测试版的6我现在得到的编译错误的定义模块”迅速
I类之外的“不能从非公开课(类)继承”从被继承是一个独立的斯威夫特框架的一部分,但我的项目编制了Xcode的8测试版5.我需要什么改变让我的项目重新编译?
“无法从非公开课继承”作为Xcode的8测试版的6我现在得到的编译错误的定义模块”迅速
I类之外的“不能从非公开课(类)继承”从被继承是一个独立的斯威夫特框架的一部分,但我的项目编制了Xcode的8测试版5.我需要什么改变让我的项目重新编译?
您继承的类需要定义为open
而不是public
。上的变化更多
的位上下文访问控制在夫特3:
夫特2只有3个访问级别:
private
:实体仅可从源文件中,其中它们是内定义。internal
:实体可用于包含该定义的整个模块。public
:实体旨在用作API,并且可以由导入该模块的任何文件访问。夫特3加入2个访问级别(open
和fileprivate
)和改变的private
含义:
private
:仅在当前声明中符号可见。fileprivate
:符号在当前文件中可见。internal
:符号在当前模块中可见。public
:符号在当前模块外部可见。open
:用于在当前模块外部进行子类化或重写的类或函数。
相关:http://stackoverflow.com/questions/38947101/what-is-an-open-var-in-swift –