swift簡單學習之字典

2021-07-10 12:33:44 字數 2816 閱讀 9343

/*

字典是一種儲存相同型別多重資料的儲存器。每個值(value)都關聯獨特的鍵(key),鍵作為字典中的這個值資料的識別符號。和陣列中的資料項不同,字典中的資料項並沒有具體順序。我們在需要通過識別符號(鍵)訪問資料的時候使用字典

*///(1)建立乙個字典

vardic:

dictionary

<

string

,string

>=["三國演義":"羅貫中","水滸傳":"施耐庵","紅樓夢":"曹雪芹","西遊記":"吳承恩"];

println(

dic);

//執行結果:[三國演義:羅貫中, 水滸傳:施耐庵, 紅樓夢:曹雪芹, 西遊記:吳承恩]

//(2)訪問字典

var name=dic["

三國演義

"];println(

name);

//執行結果:羅貫中

//(3)向字典中新增鍵值

var student:dictionary

= ["

小明":10001,"

小華":10002,"

小紅":10003]; //

宣告乙個學生字典鍵:

姓名值:學號

//新增

student["理想

"]=10004;

println(

student);

//執行結果:[小華: 10002,小紅: 10003, 小明: 10001, 理想: 10004]

//修改

student

.updatevalue

(12345

,forkey:"理想

"); // 將理想的學號改為12345  updatevalue()這個方法返回更新值之前的原值。這樣方便我們檢查更新是否成功

println(

student);

//執行結果:[小華: 10002,小紅: 10003, 小明: 10001, 理想: 12345]

//刪除

student

.removevalueforkey("理想

");//將理想刪除

println(

student);

//執行結果:[小華: 10002,小紅: 10003, 小明: 10001]

//獲得鍵對應的值

let value =student["

小明"];//

將理想刪除

println

("小明

的 value 為

\(value

)");

//執行結果: 小明

的 value 為 10001

//(4)遍歷  for in 字典

會以元組(鍵,值)的形式返回

for (key,value)in

student

//無序

//執行結果: /*

鍵:小華

值:10002

鍵:小紅

值:10003

鍵:小明

值:10001

*///或者

for tuplesin

student

//無序

//我們也可以通過訪問他的keys或者values屬性(都是可遍歷集合)檢索乙個字典的鍵或者值

for keyin

student.keys

//執行結果: /*

key=:小華

key=:小紅

key=:小明 */

for valuein

student.values

//執行結果: /*

key=:10002

key=:10003

key=:10001

*///(5)通過構造方法建立字典

var namesofintegers =dictionary

()//(6)字典型別的賦值和拷貝行為

/*注意:字典和陣列的拷貝是不同的

1.無論何時將乙個字典例項賦給乙個常量或變數,或者傳遞給乙個函式或方法,這個字典會即會在賦值或呼叫發生時被拷貝。

2.如果字典例項中所儲存的鍵(keys)和/或值(values)是值型別(結構體或列舉),當賦值或呼叫發生時,它們都會被拷貝。相反,如果鍵(keys)和/或值(values)是引用型別,被拷貝的將會是引用,而不是被它們引用的類例項或函式

*/var student2=student; //

字典賦值

println

("  student為:\(

student

)\n student2為:\(

student2

) "); /*

執行結果:

student  為:[小華: 10002,小紅: 10003, 小明: 10001]

student2 為:[小華: 10002,小紅: 10003, 小明: 10001]

*/student

.updatevalue

(12345

,forkey:"小明

");// 改變 student 中

小明的 value  student2不會改變

println

("  student為:\(

student

)\n student2為:\(

student2

) "); /*

執行結果:

student 為: [小華: 10002,小紅: 10003, 小明: 12345]

student2 為:[小華: 10002,小紅: 10003, 小明: 10001]

*/

swift簡單學習之封裝

在一年的oc開發過程中,終於有點封裝的思想了。看到最近swift火的一塌糊塗 就沒事研究一下。看了幾篇開源專案,慢慢的似乎摸通了一些門道。在物件導向語言中封裝這個東西。又不得不重新 理解。在view中要對width進行賦值要這樣view.frame.size.width,每次這麼長很煩 你可以封裝 ...

swift簡單學習之單例

class caibi dispatch once static.onetaken return static.instance 在網上查詢了資料之後發現,呵呵 了 彩筆簡版 class caibi return sta.insta 精簡版 class theoneandonlykraken2 cl...

Swift學習 8 字典

字典是一種儲存多個相同型別的值的容器。每個值 value 都關聯唯一的鍵 key 鍵作為字典中的這個值資料的識別符號。和陣列中的資料項不同,字典中的資料項並沒有具體順序。var games string string diablo3 2014 8 12 dragon age 2014 10 07 v...