你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 圖書連載16:字典

圖書連載16:字典

編輯:IOS開發綜合

3.4.4 字典

Swift言語提供兩種集合類型來存儲數據:數組和字典。數組是一個同類型的序列化列表集合。而字典是一個可以運用相似於鍵的獨一標識符,來獲取值的非序列化集合。

字典是一種存儲多個相反類型的值的容器。每個值value都關聯獨一的鍵key。鍵作為字典中的這個值數據的標識符。

和數組不同的是,字典中的元素並沒有詳細的順序,也就是說字典是無序寄存元素的。並且和Object-C中的字典對象不同的是,在Swift言語中,在某個特定字典中可以存儲的鍵和值,必需提早定義它們的類型,可以經過顯性類型標注或許類型推斷,來定義鍵和值的類型。這意味這字典不會由於拔出了一個錯誤類型的值,而招致順序出錯。這也意味著當您在字典中取回數值時,可以確定它的類型。

字典的創立

Swift的字典寫法是Dictionary<KeyType,ValueType>,KeyType是您想要貯存的鍵的數據類型,ValueType是您想要貯存值的數據類型。這裡的KeyType可以運用字符串String、整形Int、雙精度Double、和布爾Bool類型。

1     var diallingCodes1 =Dictionary<String, String>()
2     var diallingCodes2 =["010":"北京", "021":"上海", "0592":"廈門"]

在第一行代碼中,diallingCodes1被定義為Dictionary<String, String>()類型,即這個字典的鍵和值的類型都是String。由於diallingCodes1被var定義為變量,所以您可以在之後的代碼中,添加或編輯它的內容。

在第二行代碼中,給diallingCodes2字典對象設置了初始值。由於在初始值中的鍵和值的類型都是String,所以diallingCodes2的類型被推斷為Dictionary<String, String>()類型。

字典的讀取和編輯

我們可以運用下標語法,經過在字典中設置的鍵,取得對應的值。

1     let diallingCodes =["010":"北京", "021":"上海", "0592":"廈門"]
2     print(diallingCodes["010"])             //輸入後果為:Optional("北京")

經過下標語法,還可以往字典中添加新的元素:

1	var diallingCodes = ["010":"北京", "021":"上海", "0592":"廈門"]
2	diallingCodes["020"] = "廣東"
3	print(diallingCodes["020"])		//輸入後果為:Optional("廣東")

假如在下標中的鍵名曾經存在於字典中,則會修正該鍵對應的值。

1     var diallingCodes =["010":"北京", "021":"上海", "0592":"廈門"]
2     diallingCodes["020"]= "廣東"
3     diallingCodes["020"]= "廣州"
4     print(diallingCodes["020"])             //輸入後果為:Optional("廣州")
 

也可以運用字典的updateValue()辦法,修正指定鍵的值:

1     var diallingCodes =["010":"北京", "021":"上海", "0592":"福州"]
2     diallingCodes.updateValue("廈門", forKey: "0592")
5     print(diallingCodes["0592"])          //輸入後果為:Optional("廈門")

當需求刪除字典中的某對鍵值時,可以運用removeValueForKey()辦法,或許將某個鍵的值設為nil,也能起到相反的作用。以下兩行代碼,都能在字典中刪除鍵為"020"的鍵值對:

1     diallingCodes["020"]= nil
2     diallingCodes.removeValue(forKey:"020")
 

字典的遍歷

您可以運用 for-in 循環,來遍歷某個字典中的鍵或值,也可以同時遍歷字典中的鍵值對。以下的代碼中,對字典的鍵停止了遍歷操作:

1     var diallingCodes =["010":"北京", "021":"上海", "0592":"廈門"]
2     for key in diallingCodes.keys
3     {
4         print(key)
5     }

經過遍歷字典對象的keys屬性,輸入了字典中一切鍵的信息:

021
010
0592

經過訪問字典對象的values屬性,可以遍歷字典的一切的值:

1     let diallingCodes =["010":"北京", "021":"上海", "0592":"廈門"]
2     for value indiallingCodes.values
3     {
4               print(value)
5     }

以下代碼的輸入後果為:

上海
北京
廈門

每一個字典中的數據項,都由(key, value)元組所組成,所以您可以運用暫時常量或許變量來分解這些元組,以下代碼是對字典的鍵值對停止遍歷輸入:

1     let diallingCodes =["010":"北京", "021":"上海", "0592":"廈門"]
2     for (key, value) indiallingCodes
3     {
4               print(key+":"+value)
5     }

代碼在控制台輸入的後果為:

021:上海
010:北京
0592:廈門
3.5 結語

新人學習蘋果開發,完全可以保持Objective-C,從Swift言語動手。Swift言語在3.0版本後將變得波動起來,所以在本章為讀者解說了Swift 3.0言語的根本概念和語法,這些內容都是在停止IOS開發時必需掌握的根底知識,在開發進程中每時每刻都會運用到這些知識點。所以請純熟掌握本章的一切內容,為日後的開發任務打下堅實的根底!

一團體寫書,難免會有缺乏和纰漏,歡送大家經過這個郵箱:[email protected]

將你的意見和建議通知我們,感激!

關注我的微信大眾號“酷課堂”,獲取更多學習資源,歡送留言交流。

圖書連載16:字典


【圖書連載16:字典】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved