2

可能重复:
在 Objective C 中将对象添加到 NSMutableArray 时遇到问题

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

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

方式一:

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 

方式二:

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];
4

1 回答 1

1

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

您不添加任何内容的原因是我认为您首先忘记了创建可变数组:)

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

// Let's see what my logitemsarray is
NSLog(@"%@", self.logItemsArray);
于 2012-10-27T15:58:49.313 回答