OC中遍歷字典

OC中遍歷字典spa


方法一:code

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //遍歷字典
        
        //新建一個可變字典a
        NSMutableDictionary *a = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoming", @"one", @"xiaohong", @"two", @"xiaoqiang", @"three", @"xianggang", @"four", @"xiaoliu", @"five", nil];
        
        //for循環字典a的全部鍵值對數量(count)
        for (int i=0; i<a.count; i++) {
            //先拿出字典a裏面的全部key,賦給循環變量i
            //而後再用字典a,根據全部的key,找出全部的value,再打印出來
            NSString *b = [a objectForKey:[[a allKeys]objectAtIndex:i]];
            NSLog(@"%@", b);
        }
        
        
        
    }
    return 0;
}



方法二(快速枚舉法):對象

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //遍歷字典(快速枚舉)
        
        //新建一個可變字典a
        NSMutableDictionary *a = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoming", @"one", @"xiaohong", @"two", @"xiaoqiang", @"three", @"xianggang", @"four", @"xiaoliu", @"five", nil];
        
        //使用枚舉法,建立一個id類型的變量i在字典a裏面,而後根據key@"i",遍歷出字典a裏面全部的value
        for (id i in a) {
            NSLog(@"%@", [a valueForKey:i]);
        }
        
        
        
    }
    return 0;
}



方法三(枚舉法):索引

遍歷字典每一個索引處的對象,NSEnumerator用來描述這種迭代運算的方式。
經過objectEnumerator向字典請求枚舉器,若是想從後向前瀏覽集合,可以使用reverseObjectEnumerator方法。在得到枚舉器後,能夠開始一個while循環,每次循環都向這個枚舉器請求它的下一個對象:nextObject。nextObject返回nil值時,循環結束。
three

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //遍歷字典(枚舉法)
        
        //新建一個可變字典a
        NSMutableDictionary *a = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"xiaoming", @"one", @"xiaohong", @"two", @"xiaoqiang", @"three", @"xianggang", @"four", @"xiaoliu", @"five", nil];
        
        //建立一個id類型的i
        id i;
        //向字典請求一個枚舉器b
        NSEnumerator *b = [a keyEnumerator];
        
        //得到枚舉器後,能夠開始一個while循環,每次循環都向這個枚舉器請求它的下一個對象:nextObject。nextObject返回nil值時,循環結束。
        while (i = [b nextObject]) {
            NSLog(@"%@", [a objectForKey:i]);
        }
        
        
    }
    return 0;
}
相關文章
相關標籤/搜索