______________________________不可變字典________________________________________
數(shù)組:盛放對(duì)象的有序容器 index - 對(duì)象
例如: 0 -> @"one"
2 -> @"two"
......
字典:盛放對(duì)象的無(wú)需容器,鍵值對(duì) 鍵 - 值 ==>標(biāo)示(字符串) - 對(duì)象
例如: key object
@"鍵" 對(duì)象
@"小明" @"60分"
......
//1.創(chuàng)建
//1.實(shí)例方法
NSDictionary *dic = [[NSDictionary alloc]init];
//2.類(lèi)方法
NSIC提哦那容易*dic1 = [[NSDictionary]dictionary];
//3.通過(guò)鍵值對(duì)創(chuàng)建
//NSArray *array = [NSArray arrayWithObjects:@"1",@"2",nil];
NSObject *objc1 = [[NSObject alloc]init];
NSObject *objc2 = [[NSObject alloc]init];
NSObject *objc3 = [[NSObject alloc]init];
/*
@"叁" -> objc3
@"第一個(gè)" -> objc1
@"tow" -> objc2
*/
NSDictionary *dic2 = [[NSDictionary alloc]initWithObjectsAndKeys:objc1,@"第一個(gè)",objc2,@"tow",objc3,@"叁",nil];
//NSDictionary *dic2_ = [NSDictionary dictionaryWithObjectsAndKeys:(nonnull id),...,nil]
/*
1.字典打印在控制臺(tái)上,是以{}的形式輸出,多個(gè)鍵值對(duì)間使用';'相隔
2.形式是 鍵 = 值;
2.文字以Unicode編碼顯示 (可以在線(xiàn)轉(zhuǎn)換)
*/
NSLog(@"%@",dic2);
//4.快速創(chuàng)建 鍵:值,
NSDictionary *dic3 = @{@"a":objc1,@"b":bojc2,@"c":objc3};
NSLog(@"%@",dic3);
//5.通過(guò)字典創(chuàng)建 -> 相當(dāng)于賦值
NSDictionary *dic4 = [[NSDictionary alloc]initWithDictionry:dic3];
//NSDictionary *dic4_ = [NSDictionary dictionaryWithDictionary:dic3];
//2.屬性
NSLog(@"count = %ld",[dic4 count]);
NSLog(@"count = %ld",dic4.count);
//2.屬性
//NSLog(@"count = %ld",[dic4 count]);
NSLog(@"count = %ld",dic4.count);
3.方法
//1.獲取字典中的對(duì)象
NSObject *objcB = [dic4 objectForKey:@"b"];
NSLog(@"%@",objcB);
//2.獲取所有的key??常用
NSArray *allkeys = [dic4 allKeys];
NSLo(@"%@",allkeys);
//3.獲取所有value
NSArray *allvalues = [dic4 allvalues];
NSLog(@"%@",allvalues);
//4.遍歷:展示容器內(nèi)的所有數(shù)據(jù)
NSArray *keys = [dic4 allKeys];
for(int i = 0;i < dic4.count;i++)
{
NSString *key = [keys objectAtIndex:i];
/*_____________________________________________*/
NSLog(@"%@",[dic4 objectForKey:key]);
}
for(NSString *key in keys)
{
NSLog(@"%@",[dic4 objectForKey:])
}