快速枚举并向NSMutableArray添加对象

时间:2013-01-04 17:40:33

标签: ios nsmutablearray fast-enumeration

我正在尝试将对象添加到NSMutableArray "allItems1"

for (PMGWine *w in [[PMGWineStore sharedStore]allItems]) {

    [allItems1 addObject:w];

    NSLog(@"%@", w);

}

    NSLog(@"%d", [allItems1 count]);

[[PMGWineStore sharedStore]allItems]由15个对象组成,这些对象在第一个NSLog语句中完美打印出来。但[allItems1 count]显示0。 我究竟做错了什么?

2 个答案:

答案 0 :(得分:0)

问题是你没有分配allItems1数组。

请在for循环之前添加此行。

allItems1 = [[NSMutableArray alloc] init];

您也可以使用:

allItems1 = [[NSMutableArray arrayWithArray:[[PMGWineStore sharedStore] allItems]] retain];

allItems1 = [[PMGWineStore sharedStore] allItems] copy];

答案 1 :(得分:0)

您可能忘记初始化allItems1 NSMutableArray。 在你写for之前

allItems1 = [[NSMutableArray alloc] init];

你也可以写:

allItems1 = [NSMutableArray arrayWithArray:[[PMGWineStore sharedStore]allItems]];

而不是for循环。