将项添加到NSMutableArray属性中

时间:2012-10-27 15:54:43

标签: objective-c arrays nsmutablearray nsarray add

  

可能重复:
  Having trouble adding objects to NSMutableArray in Objective C

我有一个带有NSMutabeArray属性的类。在其中一个类的方法中,我试图将另一个NSArray中的对象添加到此NSMutableArray中。 (添加的对象是NSDictionaries)。我已经为此尝试了几种方法(下面指定),但它们似乎都没有工作,因为对象没有添加到数组中(我可以看到当我NSLog的NSMutableArray的count属性,它仍然返回0 。

为什么会这样,将项目添加到NSMutableArray的正确方法是什么?

方式1:

NSArray * logItemsTemp = [logParsedData objectForKey:@"log"]; //items to add, NSlooged the count property and there are 3 items
[[self logItemsArray] addObjectsFromArray:logItemsTemp]; //adding items to the NSMutableArrayProperty logItems array - unsuccessful 

方式2:

NSArray * logItemsTemp = [logParsedData objectForKey:@"log"];  //items to add, NSlooged the count property and there are 3 items
for (int i = 0; i<[logItemsTemp count]; i++) {
      [logItemsArray addObject:[logItemsTemp objectAtIndex:i]]; //adding items to the NSMutableArrayProperty logItems array - unsuccessful
}

编辑:

NSArray * logItemsTemp = [logParsedData objectForKey:@"log"];
    if ([self logItemsArray] == NULL) {
        self.logItemsArray = [NSMutableArray new];
        NSLog(@"%@",logItemsTemp);
    }
        [[self logItemsArray] addObjectsFromArray:logItemsTemp];

1 个答案:

答案 0 :(得分:1)

无论哪种方式都有效。第一种方式更有效率。

你没有添加任何东西的原因是我认为你已经忘记了首先制作你的可变数组:)

你说self.logItemsArray.count为0.这可能是因为self.logItemsArraynil:)

// Let's see what my logitemsarray is
NSLog(@"%@", self.logItemsArray);