0

我有这个代码

      [[self.client dataClient] getEntities:@"book" query:nil
                    completionHandler:^(ApigeeClientResponse *result)                          {
                        if (result.transactionState ==kApigeeClientResponseSuccess) {
                            _objects = result.response[@"entities"];
                        } else {
                            _objects = @[]; //"Incompatible pointer types assigning to NSMutableArray from NSArray"
                        }
                        [self.tableView reloadData];
                    }];

它显示错误“从 NSArray 分配给 NSMutableArray 的指针类型不兼容”

4

2 回答 2

2

您正在尝试将NSArray( @[]) 分配给类型的变量NSMutableArray

代替:

 _objects = @[];

和:

_objects = @[].mutableCopy;

即使您没有在第一个 if 子句中提及错误,您也必须替换它。

_objects = [NSMutableArray arrayWithArray:result.response[@"entities"]];
于 2017-01-05T12:52:20.797 回答
2

_objects在中实现并在调用时NSArray返回偶数。NSArrayNSMutableArray

分配[NSMutableArray array];

于 2017-01-05T12:16:19.947 回答