2016-09-28 7 views
4

Swift 3でグローバル変数/ constを宣言するためにprivateまたはfileprivateを使用する必要がありますか?例: Swift3のグローバル変数/ constを宣言する際のprivate対fileprivate?

fileprivate let a = 1 
fileprivate class SomeClass { 
    fileprivate b = 0 
} 

それとも

private let a = 1 
private class someClass { 
    fileprivate b = 0 
} 
+0

[swift3でfileprivateとprivateを区別する良い例は何ですか?](http://stackoverflow.com/questions/39027250/what-is-a-good-example-to-differentiate-between-ファイルプライベートおよびプライベートインスウィフト) –

+2

@NiravDはあなたのクイックコメントに感謝しますが、グローバルスコープの変数については言及していません。それは囲み宣言内の変数のみを記述します。 – frogcjn

+0

これは、https://cocoacasts.com/what-is-the-difference-between-private-and-fileprivate-in-swift-3/ –

答えて

3

それは本当に、あなたがfileprivateprivateを使用するかどうか、ファイルレベルでの違いはありませんアクセス制御は同じになり、例えばこのように定義された定数は、その中にのみ使用可能になりますファイル。

他の修飾語でも同じことが言えます。ある場合には、内部と秘密は同じになります。同じ単一ファイルモジュール。

この場合、すべての目的と目的で、fileprivateを使用する必要があります。これは、ファイル全体でこれを使用したいというインテントをより明確に示しているためです。

スウィフトの将来のバージョンでは(スウィフト4ではいくつか提案された変更があります)、実際にはこれらの修飾子に変更があり、この場合はfileprivateprivateの範囲が異なります。

関連する問題