我有5个动物对象,我试图将其保存在NSMutableDIctionary中。但是,根据下面的代码,只有最后一个动物保存在NSMutableDIctionary中。

我认为我looping正确。

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

        [allContacts setObject:name forKey:@"name"];

        [allContacts setObject:age forKey:@"age"];

        [allContacts setObject:gender forKey:@"gender"];

 }


上面的输出显示如下:(仅显示最后一个动物对象)

{

    name = fish;

    age = 6;

    gender = "female";

}


我想要的是,所有五个动物对象都保存在NSMutableDIctionary中,这样我就可以在UITableView中显示它们。

{

            name = "cow";

            age = 4;

            gender = "male";

        },

                {

            name = "dog";

            age = 15;

            gender = "male";

        },

                {

            name = "fish";

            age = 6;

            gender = "female";

        }

最佳答案

NSMutableDictionary的键是唯一的。

您想要做的是建立一个Array,并且此Array的每个对象都是一个Dictionary

    NSMutableArray * contentsArray = [[NSMutableArray alloc] init];
    for(int i = 0; i < animalCount; i++) {
        NSMutableDictionary * allContacts = [[NSMutableDictionary alloc] init];
        [allContacts setObject:name forKey:@"name"];

        [allContacts setObject:age forKey:@"age"];

        [allContacts setObject:gender forKey:@"gender"];
        [contentsArray addObject:allContacts];
    }

关于ios - 将项目添加到NSMutableArray-逻辑问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30230719/

10-13 02:47