2016-09-28 62 views
4

我應該使用private還是fileprivate在Swift 3中聲明全局變量/常量? 例如私人與fileprivate在Swift3中聲明全局變量/常量?

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- fileprivate-and-private-in-swift) –

+2

@NiravD感謝您的快速評論,但它沒有提到全局範圍內的變量。它只在封閉聲明中提到變量。 – frogcjn

+0

可能這會幫助你https://cocoacasts.com/what-is-the-difference-between-private-and-fileprivate-in-swift-3/ –

回答

3

這真的沒什麼區別在文件級,不管你使用的fileprivateprivate,訪問控制將是相同的,對於這樣定義將只在使用例如常數文件。

對於其他修飾語也可以這樣說,在某些情況下,內部和私人變得相同,例如。相同的單個文件模塊。

對於這種情況下的所有意圖和目的,您應該使用fileprivate,因爲它更清楚地表明意圖 - >您希望在整個文件中使用它。

這是很合理的迅速的未來版本期待(有斯威夫特4一些修改建議),有的確會在這些修飾改變,fileprivateprivate將在這種情況下,不同的範圍。