ios给NSMutableDictionary循环赋值的两种方式,在循环内初始化NSMutableDictionary和在循环外初始化NSMutableDictionary有何区别?(已解决)

来源:互联网 发布:全民突击刷枪内购软件 编辑:程序博客网 时间:2024/05/16 02:48

 NSMutableArray * arrayName = [NSMutableArrayarray];

    NSMutableArray * array = [NSMutableArrayarray];

    [array removeAllObjects];

   for (int i =0; i< 10; i++) {

       NSString * str = [NSStringstringWithFormat:@"name%i",i];

        [arrayNameaddObject:str];

    }


    // 方式一for循环内初始化字典dict,每次循环都初始化一个新字典,并在循环内加入数组,数组存了10个不同的字典

   for (int i =0; i< 10; i++) {

        NSMutableDictionary * dict = [NSMutableDictionarydictionary];

       NSString * value = [NSStringstringWithFormat:@"Female%04i.JPG",i];

       NSString * key = arrayName[i];

            [dictsetObject:value forKey:key];

        [arrayaddObject:dict];

    }

    

     NSLog(@"%@*************",array);

    

    //方式二 for循环外初始化字典dict,再循环外初始化可变字典,在循环内每次循环在字典内添加键值对,将存有十个键值对的一个字典赋给数组

    NSMutableArray * array2 = [NSMutableArrayarray];

     NSMutableDictionary * dict2 = [NSMutableDictionarydictionary];

   for (int i =0; i< 10; i++) {

       

       NSString * value = [NSStringstringWithFormat:@"Female%04i.JPG",i];

       NSString * key = arrayName[i];

        [dict2setObject:value forKey:key];

       

    }

     [array2addObject:dict2];

    NSLog(@"%@____________",array2);

    

    

//    从打印结果可以很清楚的看到两者的区别

//    因为对字典的理解不是很深刻:只是简单地想着他存着键值对,但是他实际可以存n个键值对(若在给可变字典设置键值对前每次都初始化可变字典则每个字典只有一个键值对)



ios给NSMutableDictionary循环赋值的两种方式,在循环内初始化NSMutableDictionary和在循环外初始化NSMutableDictionary有何区别?(已解决)ios给NSMutableDictionary循环赋值的两种方式,在循环内初始化NSMutableDictionary和在循环外初始化NSMutableDictionary有何区别?(已解决)


0 0
原创粉丝点击