UISearchDisplayController删除行不删除

时间:2011-11-21 20:37:47

标签: ios objective-c iphone uitableview uisearchdisplaycontroller

当我的microsoftSQL查询成功删除数据库中的行时,我也从“本地数据”中删除了该行

除非您“搜索”

,否则此操作符合预期

当您显示搜索结果并滑动以删除时,该行实际上并未通过动画删除。如果我重新输入我的搜索查询,它就会被怀疑消失。

那么......有没有办法在uisearchdisplaycontroller中删除行的动画,还是有办法重新加载搜索结果表?或者我应该禁止在搜索中删除?

            [itemAutoIDRows removeObjectAtIndex:currentRow];
            [itemIDRows removeObjectAtIndex:currentRow];
            [itemNameRows removeObjectAtIndex:currentRow];
            [qtyOrderedRows removeObjectAtIndex:currentRow];
            [qtyReceivedRows removeObjectAtIndex:currentRow];



            NSIndexPath *indexPath = [NSIndexPath indexPathForRow:currentRow inSection:0];
            NSArray *indexPathArray = [[NSArray alloc] initWithObjects:indexPath, nil];
            [self.POTableView deleteRowsAtIndexPaths:indexPathArray withRowAnimation:UITableViewRowAnimationFade];
            break;
            [indexPathArray release];

此代码在仅使用普通tableview时可正常工作,但不会设置动画或刷新搜索结果表视图。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

searchResultsTableView与任何其他表视图一样。从您的数据源中删除项目后,您将deleteRowsAtIndexPaths:withRowAnimation:发送给它,它应该可以正常工作。您上面的代码只是修改self.POTableView。适用于任何tableView的规则相同,如果修改数据源并希望逐步更新表视图,请确保在数据源和表结构之间保持一致。