我在 AFNetworking getPath 调用的成功块中有以下内容:
+(void)allItemsWithBlock: (void (^)(NSArray *items)) block
{
...
NSMutableArray *mutableItems = [NSMutableArray array];
for (NSDictionary *attributes in [responseObject valueForKey:@"data"]) {
Item *item = [[Item alloc] initWithAttributes:attributes];
[mutableItems addObject:item];
}
NSLog(@"here is a count: %i", [mutableItems count]);
if(block){
block(mutableItems);
}
在传入的块中,我有以下内容,但将错误列为注释:
[Item allItemsWithBlock:^(NSArray *items){
for(Item *thisItem in *items){ // The type 'NSArray' is not a pointer to a fast-enumerable object
NSLog(@"in the block here");
}
}];
我已经阅读了尝试快速枚举的内容,但不确定问题出在哪里。NSMutableArray -> NSArray 是一个问题吗?是因为这个数组是在一个块中创建的,因此可以被视为可能仍然“开放更改”吗?我以前在我们的项目中看到过这样的代码,似乎没有问题。
谢谢任何帮助