您的位置:首页 > 移动开发 > Objective-C

Objective-c语言_可变字典

2015-12-16 10:54 609 查看
#import <Foundation/Foundation.h>

int main(int argc,
const char * argv[]) {

@autoreleasepool

{

//可变字典NSMutabkeDictionary

//1.初始化方法

//创建一个空的字典

NSMutableDictionary *mDictionary1=[NSMutableDictionary
dictionary];

//创建一个有一个键值对的可变字典

NSMutableDictionary *mDictionary2=[NSMutableDictionary
dictionaryWithObject:@"Rick"
forKey:@"name"];

NSMutableDictionary *mDictionary3=[NSMutableDictionary
dictionaryWithObjectsAndKeys:@"Rick",@"name",@25,@"age",@"GZ",@"address",
nil];

//通过另一个字典创建一个字典

NSMutableDictionary *mDictionary4=[NSMutableDictionary
dictionaryWithDictionary:mDictionary3];

//使用枚举器

NSEnumerator *enu=[[mDictionary4
allKeys] objectEnumerator];

NSString *key;

while (key=[enu
nextObject])

{

NSLog(@"%@=%@",key,mDictionary4[key]);

}

//可变字典独有初始化方法

NSMutableDictionary *mDictionary5=[NSMutableDictionary
dictionaryWithCapacity:10];

//创建了初始大小为10各位键值对的可变字典
同样的参数num只是初始的大小,提高

//程序效率。并没有现在字典的大小,如果继续往里面添加数据,字典的元素会继续增加(无符号整形)

//从本地读取字典

NSMutableDictionary *mDictionary6=[NSMutableDictionary
dictionaryWithContentsOfFile:@"文件的路径"];

//从网络读取字典

NSMutableDictionary *mDictionary7=[NSMutableDictionary
dictionaryWithContentsOfURL:[NSURL
URLWithString:@"http://www.baidu.com"]];

//操作字典

//增删改查

//增加

[mDictionary5 setValue:@"Rick"
forKey:@"name"];//第一个天key第二个天value

[mDictionary5 setValue:@25
forKey:@"age"];

//改(如果原来字典中已有了key这个关键字,那么这次新加的值就会覆盖掉原来关键字(键)key对应的值)

[mDictionary5 setValue:@"Jack"
forKey:@"name"];

//使用新语法去改

mDictionary5[@"name"]=@"Leo";

//删除指定key的对象

[mDictionary5 removeObjectForKey:@"name"];//ForKey指定某个key

//删除所有对象

[mDictionary5 removeAllObjects];

NSLog(@"dic5=%@",mDictionary5);

//例子

NSMutableDictionary *mDictionary8=[NSMutableDictionary
dictionaryWithObjectsAndKeys:@"Rice",@"name1",@25,@"age",@"GZ",@"address",@"Rice",@"name2",@"Rice",@"name3",
nil];//Rice为value name为key

NSEnumerator *enu1=[[mDictionary8
allKeys]objectEnumerator];

//NSEnumerator *enu2=[mDictionary8.allKeys objectEnumerator];//可以的

NSString *key1;

while (key1=[enu1
nextObject])

{

NSLog(@"%@=%@",key1,mDictionary8[key1]);

}

while (key1=[enu1
nextObject])

{

if (mDictionary8[key1]==[mDictionary8
objectForKey:@"Rice"])

{

NSLog(@"key=%@",key1);

}

}

NSArray *key8=mDictionary8.allKeys;//这是数组不是NSString

for (NSString *key
in key8)

{

NSString *string;

if ([mDictionary8[key]
isKindOfClass:[NSNumber
class]])

{

int a=[mDictionary8[key]
intValue];

string=[NSString
stringWithFormat:@"%d",a];

}

else

{

string=mDictionary8[key];

}

if ([string
isEqualToString:@"Rice"])

{

NSLog(@"Key=%@",key);

}

}

NSArray *key9=mDictionary8.allKeys;

for (NSString *key
in key9)

{

if ([mDictionary8[key]
isEqual:@"Rice"])

{

NSLog(@"key=%@",key);

}

}

}

return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: