PList中的NSMutableArray在添加到PList时会不断替换以前的NSMutableArray

时间:2011-10-21 22:29:30

标签: objective-c ios nsmutablearray plist ios4

我知道这很简单,但我刚刚开始使用plist,我遇到了麻烦。我可以将数组写入plist没问题,但是当我尝试添加第二个数组时,它只是替换了前一个数组。

以下是代码:

self.excersizeArray = [[NSMutableArray alloc] initWithCapacity:4];
    [excersizeArray addObject:excersizeName];
    [excersizeArray addObject:numSets];
    [excersizeArray addObject:time];
    [excersizeArray addObject:restTime];
self.excersizesArray = [[NSMutableArray alloc] initWithCapacity:20];
    [excersizesArray addObject:excersizeArray];

这是plist:

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试使用NSMutableArray方法addObjectsFromArray:添加数组的内容而不是数组本身。例如,

self.excersizeArray = [[NSMutableArray alloc] initWithCapacity:4];
    [excersizeArray addObject:excersizeName];
    [excersizeArray addObject:numSets];
    [excersizeArray addObject:time];
    [excersizeArray addObject:restTime];
self.excersizesArray = [[NSMutableArray alloc] initWithCapacity:20];
    [excersizesArray addObjectsFromArray:excersizeArray];

我改变的是最后一行。这将添加数组的内容而不是数组本身。