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

Swift中Optional值的鏈式調用學習筆記

編輯:更多關於編程

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