OC中字典的遍歷


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);
        }];

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM