一丹墨、swift3.0中四個標識符的訪問權限由高到低一次是:open>internal>fileprivate>private霎苗。
簡單的區(qū)分:
1冰垄、open:公開的
? ? ? ?可以跨模塊(項目/包/target)都是可以訪問滑绒;
2、internal: 內(nèi)部的
? ? ? ?默認情況下所有的類&屬性&方法的訪問權限都是internal骚勘;
? ? ? 在本模塊(項目/包/target)中可以訪問;
3撮奏、fileprivate :Swift3.0
? ? ? ?只要是在本文件中都是可以進行訪問俏讹;
4、private:私有的
? ? ? 只有在本類中可以訪問畜吊;
二泽疆、區(qū)分private和fileprivate
? 由圖1簡單表述private和fileprivate的權限區(qū)別:private只可以在本類訪問,類2則訪問不到類1中private修飾的屬性和方法玲献;fileprivate限制于本文件中訪問殉疼,例如圖中window外的viewcontroll就訪問不到window里的viewcontroll中fileprivate修飾的梯浪,因為兩個viewcontroll不屬于同一個文件。
三瓢娜、區(qū)分open和internal
open可以跨模塊訪問挂洛,internal只能在本模塊中可以訪問。