標籤:style ext color strong 使用 資料
字典是無序的 數組是有序的。字典分為:可變字典和不可變字典
不可變字典對象
NSDictionary * dict = [[NSDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil];
//value = key
//初始化必須一一對應 字典的內容是索引值對 key->value 內容可以是任意的對象指標
//key 一般是NSString * value 可以是任意對象
//不能出現重複的key key是唯一的
NSDictionary * dict1 = [NSDictionary dictionaryWithDictionary:dict];
NSArray * values = [NSArray arrayWithObjects:@"one",@"two",@"three", nil];
NSArray * keys = [NSArray arrayWithObjects:@"1",@"2",@"3", nil];//key-value要一一對應
NSDictionary * dict2 = [[NSDictionary alloc]initWithObjects:values forKeys:keys];
[dict count]//索引值對的個數 索引值對必須成對出現
[dict objectForKey:@"5"]//根據key找到對應的value
//建立一個key的列舉程式 把字典中key元素地址傳給列舉程式
NSEnumerator * enumer1 = [dict keyEnumerator];
id obj;
while (obj = [enumer1 nextObject]) {
NSLog(@"%@",[dict objectForKey:obj]);
}
//建立值的列舉程式(一般不使用,沒有意義)
NSEnumerator * enumer2 = [dict objectEnumerator];
while (obj = [enumer2 nextObject]) {
NSLog(@"%@",obj);
}
//快速枚舉 枚舉的是key(不能改資料,只能讀)
for(id key in dict){
NSLog(@"%@",key);
}
NSArray * array = [urlItemDict allValues];//擷取所有value
NSArray * array = [urlItemDict allKeys];//擷取所有key------可變字典對象
可變字典對象
NSMutableDictionary * dict = [[NSMutableDictionary alloc]initWithObjectsAndKeys:@"one",@"1",@"two",@"2",@"three",@"3",@"four",@"4", nil];
[dict setObject:@"seven" forKey:@"7"];//增加索引值對 key已經存在 則修改value 不存在則添加
[dict setObject:@"nine" forKey:@"1"];//修改value
[dict removeObjectForKey:@"1"];//刪除索引值對