我正在使用RestKit处理来自API的数据。
我想获得一份商家名单,并且我正确地恢复了这一点。然而,一旦我得到该列表,在我的结尾我需要删除任何业务这是一个“麦当劳”,然后才能在UITableView
中显示结果
响应示例:
"venue": [{
"name": "X Business", {
在API响应之前无法删除这些结果,在我获得API响应之后但是在UITableView
中显示结果之前,是否有某种方法可以执行此操作?
修改
查看控制器
@property (strong, nonatomic) NSArray *springs;
@property (strong, nonatomic) NSMutableArray *leafs;
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
static NSString *CellIdentifier = @"standardCell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
Spring *spring = [springs objectAtIndex:indexPath.section]; // 13 objects
Leaf *leaf = [spring.leafs objectAtIndex:indexPath.row]; // 30 objects
cell.textLabel.text = leaf.shortName;
return cell;
}
编辑2: Response.m是模型
@implementation Response
+ (RKObjectMapping *)mapping {
RKObjectMapping *objectMapping = [RKObjectMapping mappingForClass:[self class] usingBlock:^(RKObjectMapping *mapping) {
[mapping mapKeyPathsToAttributes:
@"premium", @"premium",
nil];
}];
return objectMapping;
}
@end
答案 0 :(得分:1)
您可能只想过滤使用NSPredicate从API获得的数组,例如,如果每个对象,例如在你的情况下,Spring在数组中有businessName属性:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"businessName = %@", @"McDonalds"];
NSArray *filteredArray = [self.springs filteredArrayUsingPredicate:predicate];
答案 1 :(得分:1)
RestKit可以使用KVC执行传入数据的验证,因此您可以在映射期间过滤传入的数据(您将在映射期间节省时间和精力,而不必处理后处理结果)。
查看文档here。