与Parse一起删除UITableView中的行

时间:2014-11-04 19:24:35

标签: ios objective-c uitableview parse-platform pfquery

我正在尝试删除UITableView(PFQueryTableViewController)中的一行。该对象在类中删除,但仅在刷新表时才反映在表中。这是我正在使用的代码。

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath{
    return YES;
}


- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
    if (editingStyle == UITableViewCellEditingStyleDelete) {


        PFObject *object = [self.objects objectAtIndex:indexPath.row];
        [object deleteInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {


            [tableView reloadData];
        }];
    }


}

2 个答案:

答案 0 :(得分:0)

怀疑它。

我使用[tableView reloadData]而不是[self loadObjects]

但是,通常的删除动画不存在。

答案 1 :(得分:-1)

您必须在主线程中进行所有UI更新。

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {

    PFObject *object = [self.objects objectAtIndex:indexPath.row];
    [object deleteInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {

        dispatch_async(dispatch_get_main_queue(), ^{
            [tableView deleteRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationFade];

    }];
}

}