OC学习小结之Foudation -NSDictionary

来源:互联网 发布:ubuntu安装手动分区 编辑:程序博客网 时间:2024/05/17 14:14

1)字典的初始化

初始化后字典内容不可变。
NSDictionary *d=[NSDictionary dictionaryWithObjectsAndKeys:@"v",@"k",nil];
NSArray *value=[NSArray arrayWithObjects:@"v1",@"v2",nil];
  NSArray *key=[NSArray arrayWithObjects:@"k1",@"k2",nil];
d=[NSDictionary dictionaryWithObjects:value forKeys:key];

2)字典的基本用法

      字典有个成员变量 count 纪录字典键值对的个数  d.count
字典写入文件 方法
[d writeToFile:path atomically:(是否多线程)]
从文件中读取字典
NSDictionary  *d1=[NSDictionary  dictionaryWithContentsOfFile:path];
输出所有的关键字或字典值 到一个数组
[d allKeys];[d allValues];
根据多个key照出对应value
[d objectsForKeys:[NSArray arrayWithObjects:@"k1", @"k2", @"k4", nil] notFoundMarker:@"not-found"];

3)字典的遍历

for循环

NSArray allkey==[d allKeys];
for(int i=0;i<d.count;i++){
NSString *str=[d valueForKey:[allkey objectAtIndex] ];
加强for循环
for( id key in d){
id value=[d objectForKey:key];
}
迭代器
NSEnumerator *nkey=[d keyEnumerator];
id key=nil;
while(k=[nkey nextObject]){
id value=[d objectForKey : k];
}
NSEnumeratou *nvalue=[d objectEnumerator];
id value;
while(value=[nvlaue nextObject])
{
value;
}
调用block方法
[d enumerateKeysAndObjectsUsingBlock:
     ^(id key, id obj, BOOL *stop) {
        NSLog(@"%@=%@", key, obj);
    }];
0 0