46
我從swift開始,使用xcode 8 beta中的swift2創建項目,將private
修改器更改爲fileprivate
。這個關鍵字的含義是什麼?和private
有什麼不同?'fileprivate'關鍵字在Swift中意味着什麼?
我從swift開始,使用xcode 8 beta中的swift2創建項目,將private
修改器更改爲fileprivate
。這個關鍵字的含義是什麼?和private
有什麼不同?'fileprivate'關鍵字在Swift中意味着什麼?
fileprivate
是新的Swift 3訪問修飾符之一,其含義取代private
。 fileprivate
定義了一個實體(類,擴展,屬性,...)作爲它聲明的源文件之外的所有人的私有,但可以被該源文件中的所有實體訪問。
private
限制直接封閉範圍內的實體。
你是什麼意思的「直接封閉範圍」?我什麼時候只用'private'而不是'fileprivate'? –
封閉範圍是在這個擴展中的塊或文件集合,其中聲明瞭一個實體,「private」意味着隱藏實現細節或隱藏限制於所有者的東西,而'fileprivate'可用於共享一些在同一文件中的所有實體之間的通用功能。 – xhamr
在swift 3.0中,swift <3.0'private'作品像'fileprivate'。如果你快速申報2.3兩個具有私有變量的類,但在同一個文件中,它們仍然可以訪問每個「私有」標記變量。 – Robert