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

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

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

前言

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

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

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

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

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

下面進(jìn)行本文的正文介紹:

上代碼

class ViewController: UIViewController {
 var test = ""
 private var test1 = ""
 fileprivate var test2 = ""
 override func viewDidLoad() {
  super.viewDidLoad()
  testIt() // 之前會(huì)報(bào)錯(cuò) 需要修改為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() /// 報(bào)錯(cuò) 'testForPrivate' is inaccessible due to 'private' protection level
 } 
}

總結(jié)

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

相關(guān)文章

  • Combine中錯(cuò)誤處理和Scheduler使用詳解

    Combine中錯(cuò)誤處理和Scheduler使用詳解

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

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

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

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

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

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

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

    Swift如何為設(shè)置中心添加常用功能

    這篇文章主要給大家介紹了關(guān)于Swift如何為設(shè)置中心添加常用功能的相關(guān)資料,包含了跳轉(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入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-11-11
  • 使用?Swift?Package?插件生成代碼的示例詳解

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

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

    swift實(shí)現(xiàn)自動(dòng)輪播圖效果(UIScrollView+UIPageControl+Timer)

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

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

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

最新評論

安岳县| 罗平县| 太湖县| 金乡县| 巨鹿县| 峡江县| 平南县| 曲阳县| 新余市| 都昌县| 玉龙| 久治县| 阿图什市| 西丰县| 建德市| 呼和浩特市| 西昌市| 和田市| 澄江县| 岑巩县| 翁源县| 雅安市| 莱州市| 天祝| 阿坝县| 云霄县| 调兵山市| 肥乡县| 万宁市| 柳州市| 河源市| 普宁市| 梅河口市| 和平区| 新丰县| 阜阳市| 平安县| 凌云县| 襄垣县| 雅江县| 郯城县|