「無法從非公開課繼承」作爲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 –