• <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        當前位置:雨林木風下載站 > 辦公軟件教程 > 詳細頁面

        Swift中的Access Control權限控制介紹

        Swift中的Access Control權限控制介紹

        更新時間:2022-05-10 文章作者:未知 信息來源:網絡 閱讀次數:

        Microsoft Office Access是由微軟發(fā)布的關系數據庫管理系統(tǒng)。它結合了 MicrosoftJet Database Engine 和 圖形用戶界面兩項特點,是 Microsoft Office 的系統(tǒng)程序之一。Microsoft Office Access是微軟把數據庫引擎的圖形用戶界面和軟件開發(fā)工具結合在一起的一個數據庫管理系統(tǒng)。它是微軟OFFICE的一個成員, 在包括專業(yè)版和更高版本的office版本里面被單獨出售。2018年9月25日,最新的微軟Office Access 2019在微軟Office 2019里發(fā)布。

           這篇文章主要介紹了Swift中的Access Control權限控制介紹,本文講解了private、internal、public三個關鍵字的使用,需要的朋友可以參考下

          如果您之前沒有接觸過權限控制,先來聽一個小故事:

          小明是五道口工業(yè)學院的一個大一新生,最近他有點煩惱,因為同屋經常用他的熱水壺,好像那是自己家的一樣,可是礙于同學情面,又不好意思說。直到有一天,他和學姐小K吐槽。

          學姐聽了之后,說:大學集體生活里面,大部分東西都是默認室友可以共用的。如果你不想別人拿,我可以幫你做封印,只要打上private標記,它們就看不到你的東西,更加用不了你的東西了。

          小明說哇靠學姐你還會妖法......

          Swift語言從Xcode 6 beta 5版本起,加入了對權限控制(Access Control)的支持。其實權限控制和小明的物品一樣,你可以設定水壺是只有自己能用,還是只有宿舍里的人能用,還是全校都可以用。

          從此以后,你可以好像神盾局局長一樣,完全掌控自己的代碼塊的”保密級別“,哪些是只能在本文件引用,哪些能用在整個項目里,你還可以發(fā)揮大愛精神,把它開源成只要導入你的框架,大家都可以使用的API。

          這三種權限分別是:

          #####private 私有的

          在哪里寫的,就在哪里用。無論是類、變量、常量還是函數,一旦被標記為私有的,就只能在定義他們的源文件里使用,不能為別的文件所用。

          #####internal 內部的

          標記為internal的代碼塊,在整個應用(App bundle)或者框架(framework)的范圍內都是可以訪問的。

          #####public 公開的

          標記為public的代碼塊一般用來建立API,這是最開放的權限,使得任何人只要導入這個模塊,都可以訪問使用。

          如果要把所有的愛加上一個期限,噢不,是給所有的代碼塊都標記上權限,不累死才怪。還好swift里面所有代碼實體的默認權限,都是最常用的internal。所以當你開發(fā)自己的App時,可能完全不用管權限控制的事情。

          但當你需要寫一個公開API的時候,就必須對里面的代碼塊進行“隱身對其可見”的public標記,要么其他人是用不到的。

          Private(私有級別)的權限最嚴格,它可以用來隱藏某些功能的細節(jié)實現方式。合理構筑你的代碼,你就可以安全地使用extension和高級功能,又不把它們暴露給項目內的其他文件。

          除了可以給整個聲明設權限,Swift還允許大家在需要的時候,把某個屬性(property)的取值權限比賦值權限設得更加開放。

          #####舉個例子:

           代碼如下:

          public class ListItem {

          // ListItem這個類,有兩個公開的屬性

          public var text: String

          public var isComplete: Bool

          // 下面的代碼表示把變量UUID的賦值權限設為private,對整個app可讀,但值只能在本文件里寫入

          private(set) var UUID: NSUUID

          public init(text: String, completed: Bool, UUID: NSUUID) {

          self.text = text

          self.isComplete = completed

          self.UUID = UUID

          }

          // 這段沒有特別標記權限,因此屬于默認的internal級別。在框架目標內可用,但對于其他目標不可用

          func refreshIdentity() {

          self.UUID = NSUUID()

          }

          public override func isEqual(object: AnyObject?) -> Bool {

          if let item = object as? ListItem {

          return self.UUID == item.UUID

          }

          return false

          }

          }

          當我們使用Objective-C和Swift混合開發(fā)時,需要注意:

          ●如果你在寫的是一個應用,Xcode會生成一個頭文件來保證兩者的可互訪性,而這個生成的頭文件會包含public和internal級別的聲明。

          ●如果你的最終產品是一個Swift框架,頭文件里只會出現標記為public級別的聲明。(因為框架的頭文件,屬于公開的Objective-C接口的一部分,只有public部分對Objective-C可用。)

          雖然Swift不推薦大家傳播和使用第三方的框架,但對于建立和分享源文件形式的框架是支持的。對于需要寫框架,方便應用與多個項目的開發(fā)者來說,要記得把API標記為public級別。

          如果您想了解更多關于權限控制的內容,可以查看蘋果官方最新的《The Swift Language》和《Using Swift with Cocoa and Objective-C》指南,

          這兩本指南在iBooks里面可以下載更新喔。


        Microsoft Access在很多地方得到廣泛使用,例如小型企業(yè),大公司的部門。

        溫馨提示:喜歡本站的話,請收藏一下本站!

        本類教程下載

        系統(tǒng)下載排行

        主站蜘蛛池模板: 亚洲午夜AV无码专区在线播放| 无码国产精品一区二区免费式芒果 | 最新欧洲大片免费在线| 18禁止看的免费污网站| 97国产免费全部免费观看| 精品免费国产一区二区| 亚洲?V乱码久久精品蜜桃 | 最新猫咪www免费人成| 国产亚洲精品无码拍拍拍色欲| 久久亚洲AV成人无码国产| 亚洲国产精品免费在线观看| 美女露隐私全部免费直播| 99re免费99re在线视频手机版| 亚洲?v女人的天堂在线观看| 四虎影视在线看免费观看| 免费A级毛片无码A∨| 亚洲美女中文字幕| CAOPORN国产精品免费视频| 国拍在线精品视频免费观看| 国产亚洲日韩在线三区| 香蕉大伊亚洲人在线观看| 西西人体免费视频| 日韩在线视频免费看| 亚洲经典在线观看| 国产在线播放线91免费| 波多野结衣中文一区二区免费| 亚洲精品日韩中文字幕久久久| 免费看黄视频网站| 国产亚洲高清在线精品不卡| 两性刺激生活片免费视频| 国产精品亚洲专区一区| 亚洲最大AV网站在线观看| 18女人水真多免费高清毛片| 亚洲最大无码中文字幕| 四虎成年永久免费网站| 久久亚洲AV午夜福利精品一区| 狠狠热精品免费观看| 久久亚洲AV成人无码| 又黄又爽的视频免费看| 日韩精品人妻系列无码专区免费| 亚洲精品国产suv一区88|