for..in遍曆,列舉程式,for..in遍曆枚舉

來源:互聯網
上載者:User

for..in遍曆,列舉程式,for..in遍曆枚舉

#pragma mark ------------for迴圈遍曆集合中的元素------

    //建立一個數組,包含5個字串對象,倒序取出數組中的所有元素,並儲存到另一可變數組中

    NSArray *array = @[@"1", @"2", @"3", @"4", @"5"];

    NSMutableArray *marray = [NSMutableArray arrayWithCapacity:0];

    for (NSInteger i = [array count] - 1; i >= 0 ; i --) {

        [marray addObject:array[i]];

    }

    NSLog(@"marray is %@", marray);

    NSDictionary *dic = @{@"name":@"zhonger",@"sex":@"m", @"age":@"29"};

    NSArray *key = [dic allKeys];

    NSArray *value = [dic allValues];

    for (int i = 0; i < [key count]; i ++) {

        //NSLog(@"%@ = %@",key[i], value[i]);

        //NSLog(@"%@", [dic objectForKey:key[i]]);

        NSLog(@"%@",dic[key[i]]);

        //數組訪問元素或者對象的方法是?  objectAtIndex:

        //數組訪問元素的文法糖? 數組對象[下標]

        //字典訪問value值的方法是? object ForKey:

        //字典訪問值的文法糖? 字典對象[key]

    }

    //建立一個集體,儲存三條資訊,遍曆得到每一條資訊

    NSSet *set = [NSSet setWithObjects:@"1", @"888888", @"3", nil];

    NSArray *allSet = [set allObjects];

    for (int i = 0; i < [allSet count]; i ++) {

        NSLog(@"allSet is %@",allSet[i]);

    }

    

 

 #pragma mark ------------列舉程式 NSEnumerator------

    

    NSArray *enumArray = @[@"jinkangda", @"zhubada", @"dazi", @"bada"];

    //建立一個列舉程式,依附於數組

    NSEnumerator *rator = [enumArray objectEnumerator];  //正序

    //建立一個對象

    id object = nil;   //容量為空白

    while (object = [rator nextObject]) {

        NSLog(@"正序==%@",object);

    }

    

    NSEnumerator *rator1 = [enumArray reverseObjectEnumerator];

    id object1 = nil;

    while (object1 = [rator1 nextObject]) {

        NSLog(@"倒序==%@",object1);

    }

    

    

    //字典枚舉遍曆

    NSDictionary *enumDic =

  @{@"key1":@{@"key1":@"value1"},

    @"key2":@{@"key2":@"value2"},

    @"key3":@{@"key3":@"value3"}};

    NSEnumerator *dicRator = [enumDic objectEnumerator];

    id value1 = nil;

    while (value1 = [dicRator nextObject]) {

        NSLog(@"value1 is  %@",value1);

    }

    

#pragma mark   ------------for...in..快速枚舉------

    

    //type *object 代表從集合中擷取的物件類型  object只是一個名稱而已,只需要滿足變數命名法則就行

    //collection 代表遍曆的集合,要在哪個集合中遍曆

    //statements 遍曆中需要執行的操作,比如使用枚舉出來的對象實現某些功能

    /*

    for (<#type *object#> in <#collection#>) {

        <#statements#>

    }*/

    for (id object in enumArray) {

        NSLog(@"-----%@",object);

    }

    

    //使用forin遍曆擷取字典中的每個value

    //在字典中遍曆key,通過得到每一個key值得到每一個value

    for (id key in enumDic) {

        //NSLog(@"%@",[enumDic objectForKey:key]);

        NSLog(@"%@",enumDic[key]);

        for (id key1 in enumDic[key]) {

           NSLog(@"%@",enumDic[key][key1]);

           // NSLog(@"%@",[[enumDic objectForKey:key]objectForKey:key1]);

        }

    }

    

    //定義⼀一個數組, 包含5個字串對象, 取出數組中所有字 符串, 並拼接⽣產生⼀一個新的字串。

    

    NSArray *ar = @[@"I", @"L", @"o", @"v", @"eyou"];

     NSMutableString *mstr = [[NSMutableString alloc]initWithCapacity:0];

    for (id object in ar) {

        //[mstr stringByAppendingString:object];

        [mstr appendString:object];

    }

    NSLog(@"%@",mstr);

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.