2017-05-24 6 views
0

は、Appleのドキュメントによると:タイプは、タイプ自体より高いアクセスレベルのプロトコルに準拠することはできますか?

“A type can conform to a protocol with a lower access level than the type itself. ”

しかし、次のコードは、エラーなしでコンパイルできます。

fileprivate class A : SomeProtocol { 
    func foo() {} 
} 

public protocol SomeProtocol { 
    func foo() 
} 

誰もがこれを説明してもらえますか?

+0

あなたは両方のクラスで同じファイルに書かれていますか? –

+0

コードをコンパイルしても、引用したステートメントには矛盾しません。「can」と表示され、「canのみ」は表示されません。アップルは、より高いアクセスレベルのプロトコルを当然のこととして当てはめることができます(完璧な意味で)。アクセスレベルの低いプロトコルに準拠している可能性があります。 – Hamish

+0

@phanisaiはい、同じファイルにあります。 –

答えて

0

Appleのドキュメントには言及していませんが、タイプは実際にはタイプ自体よりも高いアクセスレベルのプロトコルに準拠することができます。

関連する問題