最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

淺談swift 4.0中private所發(fā)生的變化

 更新時間:2017年12月30日 09:24:59   作者:Bart_Simpson  
Swift 4是蘋果計劃于2017年秋季推出的最新版本,其主要重點是提供與Swift 3代碼的源兼容性,并努力實現(xiàn)ABI穩(wěn)定性。下面這篇文章主要給大家介紹了關于swift 4.0中private所發(fā)生的一些變化,需要的朋友可以參考下。

前言

當Swift首次引入訪問級別時,對此進行了一些混淆和不解。雖然開發(fā)人員對于添加對Swift編程語言的訪問控制感到興奮,但是private關鍵字的行為與其他編程語言的行為不同。

之前在swift 3.0的時候,如果把聲明的變量或方法加上private前綴,那么它就只能在當前的class里使用,extension 中也不能使用。改成fileprivate,卻又可以在其他類中實例化后使用,屬性的作用域就會更大,可能會不小心造成屬性的濫用。

所以在Swift 4 中,private 的屬性的作用域擴大到了 extension 中,并且被限定在了 struct 和 extension 內(nèi)部,這樣就不需要再改成 fileprivate 了。

Swift4.0到底有哪些新改變呢?

  • 字符串String類型更加人性化,多行字符串文字,支持Range,也算集合類型
  • 改進的private的訪問權限,私有訪問修飾符
  • 更智能更安全的Key Value Coding 鍵值編碼
  • 詞典和集合
  • 歸檔和序列化
  • 單面范圍
  • 通用下標
  • MutableCollection.swapAt( __ : _ _ )
  • 相關類型限制
  • 類和協(xié)議存在
  • 限制@objc推論

下面進行本文的正文介紹:

上代碼

class ViewController: UIViewController {
 var test = ""
 private var test1 = ""
 fileprivate var test2 = ""
 override func viewDidLoad() {
  super.viewDidLoad()
  testIt() // 之前會報錯 需要修改為fileprivate
 }
 func testForNormal(){ 
 }
 private func testForPrivate(){ 
 }
 fileprivate func testForfileprivate(){  
 }
 override func didReceiveMemoryWarning() {
  super.didReceiveMemoryWarning()
  // Dispose of any resources that can be recreated.
 }
}
extension ViewController {
 private func testIt(){
  testForPrivate() /// swift 4.0 可以訪問 之前不行
 }
}
class other {
 let a = ViewController()
 func lalal(){
  _ = a.test /// Normal
  _ = a.test2 /// fileprivate
  a.testForNormal() /// Normal
  a.testForfileprivate() /// fileprivate
  a.testForPrivate() /// 報錯 'testForPrivate' is inaccessible due to 'private' protection level
 } 
}

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關文章

  • Combine中錯誤處理和Scheduler使用詳解

    Combine中錯誤處理和Scheduler使用詳解

    這篇文章主要為大家介紹了Combine中錯誤處理和Scheduler使用示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • RxSwift發(fā)送及訂閱 Subjects、Variables代碼示例

    RxSwift發(fā)送及訂閱 Subjects、Variables代碼示例

    這篇文章主要介紹了RxSwift發(fā)送及訂閱 Subjects、Variables代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • 深入理解swift變量和函數(shù)

    深入理解swift變量和函數(shù)

    Swift 函數(shù)用來完成特定任務的獨立的代碼塊。這篇文章主要介紹了swift變量和函數(shù)的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-08-08
  • Swift中類與結(jié)構的初始化示例解析

    Swift中類與結(jié)構的初始化示例解析

    這篇文章主要為大家介紹了Swift中類與結(jié)構的初始化解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步早日升職加薪
    2022-03-03
  • Swift如何為設置中心添加常用功能

    Swift如何為設置中心添加常用功能

    這篇文章主要給大家介紹了關于Swift如何為設置中心添加常用功能的相關資料,包含了跳轉(zhuǎn)到AppStore、郵件反饋功能、系統(tǒng)分享功能以及打開某些網(wǎng)址等功能,需要的朋友可以參考借鑒,下面來一起看看吧
    2018-05-05
  • Swift教程之函數(shù)詳解

    Swift教程之函數(shù)詳解

    這篇文章主要介紹了Swift教程之函數(shù)詳解,本文講解了函數(shù)的聲明與調(diào)用、函數(shù)的參數(shù)和返回值、函數(shù)參數(shù)名、函數(shù)類型等內(nèi)容,需要的朋友可以參考下
    2015-01-01
  • Swift的開發(fā)環(huán)境搭建以及基本語法詳解

    Swift的開發(fā)環(huán)境搭建以及基本語法詳解

    這篇文章主要介紹了Swift的開發(fā)環(huán)境搭建以及基本語法詳解,是Swift入門學習中的基礎知識,需要的朋友可以參考下
    2015-11-11
  • 使用?Swift?Package?插件生成代碼的示例詳解

    使用?Swift?Package?插件生成代碼的示例詳解

    這篇文章主要介紹了使用?Swift?Package?插件生成代碼,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-08-08
  • swift實現(xiàn)自動輪播圖效果(UIScrollView+UIPageControl+Timer)

    swift實現(xiàn)自動輪播圖效果(UIScrollView+UIPageControl+Timer)

    這篇文章主要為大家詳細介紹了swift實現(xiàn)自動輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • 解析Swift語言面相對象編程中的繼承特性

    解析Swift語言面相對象編程中的繼承特性

    這篇文章主要介紹了解析Swift語言面相對象編程中的繼承特性,是Swift入門學習中的基礎知識,需要的朋友可以參考下
    2015-11-11

最新評論

哈巴河县| 汤原县| 正定县| 江孜县| 商城县| 乌兰察布市| 周宁县| 峨边| 东莞市| 舟曲县| 濮阳市| 桃江县| 手游| 谢通门县| 平潭县| 措美县| 濉溪县| 廉江市| 出国| 易门县| 木里| 绵竹市| 肇庆市| 江口县| 高雄县| 资溪县| 鹤庆县| 南和县| 胶南市| 略阳县| 宜昌市| 莱西市| 鄢陵县| 寿宁县| 瓮安县| 黄陵县| 青州市| 新民市| 西华县| 平舆县| 达州市|