Swift3 - 更加細(xì)分的訪問控制級(jí)別

訪問控制可以限定哪些代碼你可以訪問恩溅,哪些代碼你不能訪問怜森。


測(cè)試環(huán)境

系統(tǒng)版本

10.11.5 Beta

Swift版本

Xcode8 beta 6(swift 3.0)


模塊

在 Swift 中我們使用模塊來管理代碼,每個(gè)模塊指定一個(gè)命名空間并強(qiáng)制指定模塊外哪些部分的代碼是可以被訪問控制的譬挚。

模塊就是常用的Framework或App bundle顶掉。為了實(shí)現(xiàn)某些通用的功能或封裝一些常用的方法,我們常會(huì)將代碼打包成Framework锁施,這個(gè)Framework就被稱為模塊淮悼,不論它被引入到其它工程或者Framework咐低,它里面的一切(屬性、函數(shù)等)都屬于這個(gè)模塊袜腥。

前文介紹的Swift的包管理器最終提供到工程使用的就是Framework见擦,這個(gè)就是模塊。

訪問級(jí)別

以下對(duì)訪問級(jí)別的描述適用于Xcode8 beta 6及以后的Swift版本(在此之前有三個(gè)訪問級(jí)別瞧挤,分別為 public锡宋、 internalprivate)特恬。

  • open
    可以訪問自己模塊或應(yīng)用中源文件里的任何實(shí)體,別人也可以訪問引入該模塊中源文件里的所有實(shí)體徐钠。
    在模塊之外, open 聲明的成員變量和函數(shù)可以被override的癌刽。
    相當(dāng)于原來的public,通常情況下,某個(gè)接口或Framework被外部使用時(shí)显拜,將其設(shè)置為open級(jí)別衡奥。

  • public
    open的含義大致相同,但聲明的成員變量和函數(shù)不能被override的远荠。

  • internal
    可以訪問自己模塊或應(yīng)用中源文件里的任何實(shí)體矮固,但是別人不能訪問該模塊中源文件里的實(shí)體。不指定的話譬淳,默認(rèn)的就是internal級(jí)別档址。
  • fileprivate
    可以用作隱藏某些功能的實(shí)現(xiàn)細(xì)節(jié),作用域?yàn)楫?dāng)前源文件邻梆。
    相當(dāng)于原來的private守伸。

  • private
    只能在當(dāng)前作用域內(nèi)發(fā)生作用,比起之前更加private浦妄。
    同一文件里 extension 里也是不能訪問的到 private 修飾的成員變量尼摹。


用Swift開發(fā)Framework的iOSer,開始改代碼吧~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末剂娄,一起剝皮案震驚了整個(gè)濱河市蠢涝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阅懦,老刑警劉巖惠赫,帶你破解...
    沈念sama閱讀 207,248評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異故黑,居然都是意外死亡儿咱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門场晶,熙熙樓的掌柜王于貴愁眉苦臉地迎上來混埠,“玉大人,你說我怎么就攤上這事诗轻∏埽” “怎么了?”我有些...
    開封第一講書人閱讀 153,443評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵扳炬,是天一觀的道長(zhǎng)吏颖。 經(jīng)常有香客問我,道長(zhǎng)恨樟,這世上最難降的妖魔是什么半醉? 我笑而不...
    開封第一講書人閱讀 55,475評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮劝术,結(jié)果婚禮上缩多,老公的妹妹穿的比我還像新娘呆奕。我一直安慰自己,他們只是感情好衬吆,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,458評(píng)論 5 374
  • 文/花漫 我一把揭開白布梁钾。 她就那樣靜靜地躺著,像睡著了一般逊抡。 火紅的嫁衣襯著肌膚如雪姆泻。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,185評(píng)論 1 284
  • 那天冒嫡,我揣著相機(jī)與錄音拇勃,去河邊找鬼。 笑死灯谣,一個(gè)胖子當(dāng)著我的面吹牛潜秋,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播胎许,決...
    沈念sama閱讀 38,451評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼峻呛,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了辜窑?” 一聲冷哼從身側(cè)響起钩述,我...
    開封第一講書人閱讀 37,112評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎穆碎,沒想到半個(gè)月后牙勘,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,609評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡所禀,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,083評(píng)論 2 325
  • 正文 我和宋清朗相戀三年方面,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片色徘。...
    茶點(diǎn)故事閱讀 38,163評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恭金,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出褂策,到底是詐尸還是另有隱情横腿,我是刑警寧澤,帶...
    沈念sama閱讀 33,803評(píng)論 4 323
  • 正文 年R本政府宣布斤寂,位于F島的核電站耿焊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏遍搞。R本人自食惡果不足惜罗侯,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,357評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望尾抑。 院中可真熱鬧歇父,春花似錦蒂培、人聲如沸再愈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翎冲。三九已至垂睬,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間抗悍,已是汗流浹背驹饺。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評(píng)論 1 261
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缴渊,地道東北人赏壹。 一個(gè)月前我還...
    沈念sama閱讀 45,636評(píng)論 2 355
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像衔沼,于是被迫代替她去往敵國(guó)和親蝌借。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,925評(píng)論 2 344

推薦閱讀更多精彩內(nèi)容

  • 訪問控制能夠限制你的代碼從其他文件和模塊中訪問指蚁,這個(gè)特性能夠讓你隱藏你具體的實(shí)現(xiàn)菩佑,并且也可以讓代碼能夠訪問和使用。...
    China_ly閱讀 342評(píng)論 0 1
  • 蘋果在發(fā)布了Xcode 6 Bate 4后為Swift添加了新的特性–訪問控制(Access Control)凝化,并...
    司馬捷閱讀 280評(píng)論 0 0
  • 訪問控制(Access Control) 本文內(nèi)容包括: 模塊和源文件 訪問級(jí)別 訪問級(jí)別的基本原則默認(rèn)訪問級(jí)別S...
    果啤閱讀 1,181評(píng)論 0 1
  • 共享單車這幾日可謂非炒杲伲火爆瞧哟,不時(shí)地出現(xiàn)在各大媒體頭條位置,更有一篇《共享單車枪向,一面很好的國(guó)民照妖鏡》幾乎刷爆朋友圈...
    蝸牛一問閱讀 342評(píng)論 0 2
  • 接口用來擴(kuò)展一個(gè)類勤揩。 特點(diǎn): A:接口用關(guān)鍵字interface表示。 B:類實(shí)現(xiàn)接口用關(guān)鍵字implements...
    frankisbaby閱讀 132評(píng)論 0 0