int main(int argc, const char * argv[]) {
@autoreleasepool {
//可变字典 NSMutableDictionary
//初始化
//创建一个空的字典
NSMutableDictionary *mDictionary = [NSMutableDictionary dictionary];
//有一个键值对的字典
NSMutableDictionary *mDictionary1 = [NSMutableDictionary dictionaryWithObject:@"Yong" forKey:@"neme"];
//有多个键值对的可变字典
NSMutableDictionary *mDictionary2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Yong",@"name",@23,@"age",@"GZ",@"address", nil];
//通过一个字典创建另一个字典
NSMutableDictionary *mDictionary3 = [NSMutableDictionary dictionaryWithDictionary:mDictionary2];
NSArray *keyarray = mDictionary3.allKeys;
NSEnumerator *enumertor = [keyarray objectEnumerator];
NSString *key;
while (key = [enumertor nextObject])
{
NSLog(@"%@ = %@",key,mDictionary3[key]);
}
//可变字典独有的初始化方法
NSMutableDictionary *mDictionary4 = [NSMutableDictionary dictionaryWithCapacity:10];
//创建初始大小为10个键值对可变字典.同样的,参数 num 只是初始的大小,提高程序效率,并没有限制字典的大小.如果继续往里面添加数据,字典元素个数会继续增加.
//从本地读取字典
NSMutableDictionary *mDictionary5 = [NSMutableDictionary dictionaryWithContentsOfFile:@"地址"];
//从网络读取字典
NSMutableDictionary *mDictionary6 = [NSMutableDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@"网址"]];
//操作字典
//增
[mDictionary4 setValue:@"Chen" forKey:@"name"];
[mDictionary4 setValue:@23 forKey:@"age"];
NSLog(@"%@",mDictionary4);
//改(如果原来字典中已有可key这个关键字,那么这次新加的值就会覆盖掉原来的关键字(键)key对应的值)
[mDictionary4 setValue:@"Yong" forKey:@"name"];
NSLog(@"%@",mDictionary4);
//新语法(改)
mDictionary4[@"name"] = @"Leo";
NSLog(@"%@",mDictionary4);
//删除指定key的对象
[mDictionary4 removeObjectForKey:@"name"];
//删除所有对象
[mDictionary4 removeAllObjects];
NSLog(@"%@",mDictionary4);
//例子
NSMutableDictionary *mDictionary8 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Yong",@"name1",@23,@"age",@"GZ",@"address",@"Yong",@"name2",@"Yong",@"name3", nil];
NSEnumerator *e = [[mDictionary8 allKeys] objectEnumerator];
NSString *str;
while (str = [e nextObject])
{
NSLog(@"%@ = %@",str,mDictionary8[str]);
}
NSArray *keyD8 = mDictionary8.allKeys;
for (NSString *key in keyD8)
{ /*
NSString *string = mDictionary8[key];
if ([mDictionary8[key] isKindOfClass:[NSNumber class]])
{
int i = [mDictionary8[key] intValue];
string = [NSString stringWithFormat:@"%d",i];
}
else
{
string = mDictionary8[key];
}
*/
NSString *string = mDictionary8[key];
if ([string isEqual:@"Yong"])
{
NSLog(@"key = %@",key);
}
}
}
return 0;
}
@autoreleasepool {
//可变字典 NSMutableDictionary
//初始化
//创建一个空的字典
NSMutableDictionary *mDictionary = [NSMutableDictionary dictionary];
//有一个键值对的字典
NSMutableDictionary *mDictionary1 = [NSMutableDictionary dictionaryWithObject:@"Yong" forKey:@"neme"];
//有多个键值对的可变字典
NSMutableDictionary *mDictionary2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Yong",@"name",@23,@"age",@"GZ",@"address", nil];
//通过一个字典创建另一个字典
NSMutableDictionary *mDictionary3 = [NSMutableDictionary dictionaryWithDictionary:mDictionary2];
NSArray *keyarray = mDictionary3.allKeys;
NSEnumerator *enumertor = [keyarray objectEnumerator];
NSString *key;
while (key = [enumertor nextObject])
{
NSLog(@"%@ = %@",key,mDictionary3[key]);
}
//可变字典独有的初始化方法
NSMutableDictionary *mDictionary4 = [NSMutableDictionary dictionaryWithCapacity:10];
//创建初始大小为10个键值对可变字典.同样的,参数 num 只是初始的大小,提高程序效率,并没有限制字典的大小.如果继续往里面添加数据,字典元素个数会继续增加.
//从本地读取字典
NSMutableDictionary *mDictionary5 = [NSMutableDictionary dictionaryWithContentsOfFile:@"地址"];
//从网络读取字典
NSMutableDictionary *mDictionary6 = [NSMutableDictionary dictionaryWithContentsOfURL:[NSURL URLWithString:@"网址"]];
//操作字典
//增
[mDictionary4 setValue:@"Chen" forKey:@"name"];
[mDictionary4 setValue:@23 forKey:@"age"];
NSLog(@"%@",mDictionary4);
//改(如果原来字典中已有可key这个关键字,那么这次新加的值就会覆盖掉原来的关键字(键)key对应的值)
[mDictionary4 setValue:@"Yong" forKey:@"name"];
NSLog(@"%@",mDictionary4);
//新语法(改)
mDictionary4[@"name"] = @"Leo";
NSLog(@"%@",mDictionary4);
//删除指定key的对象
[mDictionary4 removeObjectForKey:@"name"];
//删除所有对象
[mDictionary4 removeAllObjects];
NSLog(@"%@",mDictionary4);
//例子
NSMutableDictionary *mDictionary8 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"Yong",@"name1",@23,@"age",@"GZ",@"address",@"Yong",@"name2",@"Yong",@"name3", nil];
NSEnumerator *e = [[mDictionary8 allKeys] objectEnumerator];
NSString *str;
while (str = [e nextObject])
{
NSLog(@"%@ = %@",str,mDictionary8[str]);
}
NSArray *keyD8 = mDictionary8.allKeys;
for (NSString *key in keyD8)
{ /*
NSString *string = mDictionary8[key];
if ([mDictionary8[key] isKindOfClass:[NSNumber class]])
{
int i = [mDictionary8[key] intValue];
string = [NSString stringWithFormat:@"%d",i];
}
else
{
string = mDictionary8[key];
}
*/
NSString *string = mDictionary8[key];
if ([string isEqual:@"Yong"])
{
NSLog(@"key = %@",key);
}
}
}
return 0;
}