在?Swift?中,public,?fileprivate, 和?set?是訪問控制關(guān)鍵字。它們用于限制代碼的訪問級別。
-?public:這是一個(gè)訪問級別,表示該項(xiàng)可以在其定義模塊的任何源文件中以及其他導(dǎo)入該模塊的模塊中訪問。
-?fileprivate:這是一個(gè)訪問級別,表示該項(xiàng)只能在其定義的源文件中訪問。
-?set:這是一個(gè)屬性訪問器,用于設(shè)置屬性的值。
當(dāng)你看到?public?fileprivate(set)?時(shí),這意味著這個(gè)屬性是公開的(可以在任何地方訪問),但是它的?setter?是文件私有的(只能在定義它的文件中設(shè)置)。
例如:
public?class?MyClass?{
????public?fileprivate(set)?var?myProperty:?Int?=?0
}
在這個(gè)例子中,myProperty?可以在任何地方訪問,但只能在?MyClass?所在的文件中修改。