//字典類 /*
字典用於儲存具有對映關係(key-value)的資料集合
對於name:張三來講,name就是key,key對應的value就是張三
乙個key-value的組合被認為是乙個條目,字典是儲存key-value對容器
字典類的特點:
與陣列不同,字典靠key訪問元素(陣列是通過下標來訪問元素)
key不能重複,value必須是物件(如果不是物件用 nsnumber,nsvalue)
鍵值對在字典中是無序儲存的
字典也分可變字典和不可變字典
不可變字典:字典一旦建立,鍵值不能更改,不可新增,不可刪除,僅能讀取key或value
可變字典:字典建立後,鍵值可以更改,可以新增,可以刪除,也能讀取key或value
字典中元素是成對出現的,不能出現單數個(鍵值對鍵值對,有鍵有值是一對)
吃飯睡覺打鍵盤*/
//建立字典 nsdictionary
nsdictionary*dic = [[nsdictionaryalloc]initwithobjectsandkeys:
@"benz",@"car1",
@"zhang",@"car2", @"
吃飯",@"car3", @"
睡覺",@"car4", @"
打豆豆",@"car5", @"
其實是打鍵盤
",@"car6",nil];
// //獲取字典元素個數
// nsuinteger count = dic.count;
// nslog(@"count = %lu",count);
//
獲取所有key值
// nsarray *allkeyarray = dic.allkeys;
//
// for (int i = 0; i
// nslog(@"allkeyarray[%d] = %@",i,[allkeyarray objectatindex:i]);
// }
// // nslog (@"%@",[dic allkeys]);
//
//
獲取所有value值
// nsarray *allvaluesarray = dic.allvalues;
//
// for (int i = 0; i
// nslog(@"allvaluesarray[%d] = %@",i,[allvaluesarray objectatindex:i]);
// }
// nslog (@"%@",[dic allvalues]);
//
//
// //通過key查詢value值
// nsstring *car1 = [dic valueforkey:@"car1"];
// nslog(@"car = %@",car1);
//
// nsstring *car2 = [dic valueforkey:@"car2"];
// nslog(@"car = %@",car2);
//
//可變字典
// 初始化方法
nsmutabledictionary*mdictionary = [[nsmutabledictionaryalloc]initwithobjectsandkeys:
@"benz",@"car1",
@"zhang",@"car2", @"
吃飯",@"car3", @"
睡覺",@"car4", @"
打豆豆",@"car5", @"
其實是打鍵盤
",@"car6",nil];
//使用已經存在的不可變字典初始化乙個新的可變字典
// nsmutabledictionary *mdic1 = [[nsmutabledictionary alloc]initwithdictionary:dic];
//
// //使用便利構造器方法建立乙個新的空的可變字典
// nsmutabledictionary *mdic2 = [nsmutabledictionary dictionary]; //
//增刪改
//新增元素
//向字典中新增value和key
[mdictionary setvalue:@"valuezhi"
forkey:@"keyzhi"];
nslog(@"%@",mdictionary);
//向乙個字典中新增乙個字典
nsdictionary*dict4=[nsdictionarydictionarywithobject:
@"value6"
forkey:
@"key6"
];[mdictionary addentriesfromdictionary:dict4];
nslog(@"%@",mdictionary);
//向字典中新增value和key
[mdictionary setvalue:@"valuezhi"
forkey:@"keyzhi"];
nslog(@"%@",mdictionary);
//刪除元素
//移除指定key的value值
[mdictionary removeobjectforkey:@"car1"];
nslog(@"%@",mdictionary);
//刪除一組key的value值
nsarray *arraykeys=[nsarray
arraywithobjects:@"car1",@"car2",@"car3",nil];
[mdictionary removeobjectsforkeys:arraykeys];
nslog(@"%@",mdictionary);
OC第四講記憶體管理
第一題 定義兩個類,借用retaincount和dealloc方法測試以下記憶體管理方法 alloc retain copy release autorelease。記憶體管理的方式分為 mrc 手動 和arc 自動 使用alloc retain copy引用計數 retaincount 加一 使用...
視覺SLAM十四講第四講
主要目標 理解李群與李代數的概念,掌握 so 3 se 3 與對應李代數的表示方式。理解 bch 近似的意義。學會在李代數上的擾動模型。使用 sophus 對李代數進行運算。旋轉矩陣自身是帶有約束的 正交且行列式為 1 它們作為優化變數時,會引入額外的約束,使優化變得困難。通過李群 李代數間的轉換關...
OC 第四講作業
簡易通訊錄 import inte ce addresscontact nsobject property nsstring name 姓名 property nsstring 性別 property nsstring phonenumber 號碼 property nsstring address...