OC中字典的遍歷有四種:
1、使用forin進行遍歷
for (NSString *key in dic) {
NSLog(@"%@",key);
//[dic objectForKey:key];
NSLog(@"%@",dic[key]);
}
2、使用for循環進行遍歷
//把字典中的鍵放到一個數組中,name age score
NSArray *keyArr= [dic allKeys];
//遍歷這個數組
for (int i=0; i<keyArr.count; i++) {
NSLog(@"%@",[dic objectForKey:keyArr[i]]);
}
3、使用枚舉進行遍歷
//用枚舉類進行字典遍歷
NSEnumerator *en=[dic keyEnumerator];
//如果知道key的類型就用該類型去聲明一個指針變量,如果不知道key是什么類型就用id來聲明指針變量
NSString *key;
//key=[en nextObject]是把en中的值逐一賦給key,如果全部賦完后,那么key指向就為空,while循環條件不成立,循環體語句不再執行
while (key=[en nextObject]) {
NSLog(@"%@",key);
}
//[dic objectEnumerator]把字典中的值取出來
en=[dic objectEnumerator];
id value;
//[en nextObject]把en中的值逐一賦給value,如果全部賦完后,那么value指向就為空,while循環條件不成立,循環體語句不再執行
while (value=[en nextObject]) {
NSLog(@"%@",value);
}
4、使用塊對字典的鍵值進行遍歷
[dic enumerateKeysAndObjectsUsingBlock:^(id _Nonnull key, id _Nonnull obj, BOOL * _Nonnull stop) {
NSLog(@"%@ %@",key,obj);
}];
