「非オープンクラスから継承することはできません」6私は今、その定義モジュール」は、Xcodeの8ベータ版の時点で迅速
クラスIの外に「非オープンクラス(クラス)から継承することはできません」コンパイルエラーを取得します継承することは別のスウィフトフレームワークの一部だったが、私のプロジェクトは、私は私のプロジェクトは、再び自分自身に答える見つかりましたか?
「非オープンクラスから継承することはできません」6私は今、その定義モジュール」は、Xcodeの8ベータ版の時点で迅速
クラスIの外に「非オープンクラス(クラス)から継承することはできません」コンパイルエラーを取得します継承することは別のスウィフトフレームワークの一部だったが、私のプロジェクトは、私は私のプロジェクトは、再び自分自身に答える見つかりましたか?
あなたがopen
の代わりpublic
として定義する必要がありますから継承したクラス。スイフト3のアクセス制御の変更に
もう少し文脈:
private
: スイフト2は、3つのアクセス・レベルを有していたエンティティのみ彼らは、ソースファイル内から入手可能です。定義された。
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 –