在表视图中显示之前删除选定的API结果

时间:2013-05-22 23:25:06

标签: xcode json uitableview restkit

我正在使用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

2 个答案:

答案 0 :(得分:1)

您可能只想过滤使用NSPredicate从API获得的数组,例如,如果每个对象,例如在你的情况下,Spring在数组中有businessName属性:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"businessName = %@", @"McDonalds"];
NSArray *filteredArray = [self.springs filteredArrayUsingPredicate:predicate];

答案 1 :(得分:1)

RestKit可以使用KVC执行传入数据的验证,因此您可以在映射期间过滤传入的数据(您将在映射期间节省时间和精力,而不必处理后处理结果)。

查看文档here