程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 更多關於編程 >> Swift中Optional值的鏈式挪用進修筆記

Swift中Optional值的鏈式挪用進修筆記

日期:2017/7/28 11:13:20      編輯:更多關於編程

Swift中Optional值的鏈式挪用進修筆記。本站提示廣大學習愛好者:(Swift中Optional值的鏈式挪用進修筆記)文章只能為提供參考,不一定能成為您想要的結果。以下是Swift中Optional值的鏈式挪用進修筆記正文


Swift中的Optional值有如許的特征,當對其停止可選拆包時,即便用?停止Optional類型值的取值時,假如Optional值不為nil,則會前往原始類型的數據值,假如為nil,則會前往nil。是以,當應用?對Optional拆包落後行辦法、屬性或許下標的挪用時,假如有值,則會勝利響應挪用,假如沒有值,則會挪用掉敗,前往nil。

留意:應用!則會停止強迫拆包,這時候假如Optional值為nil,則會湧現運轉時毛病,是以開辟者在應用!停止強迫拆包時,必需確認Optional類型值不為nil。

當對可選值停止可選拆包並挪用其屬性或辦法後,不管原屬性或許辦法前往值是甚麼類型的,都邑被包裝成Optional值類型。當應用?對一個Optional值停止拆包並挪用其辦法時,辦法的前往值一會被包裝為Optional類型,示例以下:

class Myclass {
  var cls:MyClassTwo?
  
}
class MyClassTwo {
  func run() -> String {
    return "run"
  }
}

let obj:Myclass = Myclass()
//將前往nil
obj.cls?.run()

在停止Optional鏈挪用的時刻,會遵照以下一些特征:

1.假如停止?拆包Optional值的屬性或許辦法前往值本來為非Optional值,則會包裝成Optional值。

2.假如停止?拆包Optional值的屬性或許辦法前往值本來為Optional值,則仍然會前往Optional值,而且其實不會停止Optional值類型的嵌套。

3.因為應用Optional值?可選拆包時會將其屬性和辦法的前往值都包裝成Optional類型的,是以應用?可以停止Optional鏈式挪用,這其間,有一個環節挪用掉敗,全部鏈都邑前往nil。

示例以下:

let obj:Myclass = Myclass()
//將前往nil
(obj.cls?.run())?.startIndex

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved