/*
字典是一種儲存相同型別多重資料的儲存器。每個值(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...