Iphone 删除/移动';附加到web服务的
删除或移动使用本地数据(如NSArray)备份的UITableView的行非常简单且即时:Iphone 删除/移动';附加到web服务的,iphone,web-services,uitableview,ios,asihttprequest,Iphone,Web Services,Uitableview,Ios,Asihttprequest,删除或移动使用本地数据(如NSArray)备份的UITableView的行非常简单且即时: 从数组中删除该值 调用deleteRowsAtIndexPaths:withRowAnimation: 利润 但是我的表视图与web服务进行通信,这意味着一旦点击该行上的“删除”按钮,我就必须将请求转发到服务器(当然是通过),获取响应,然后告诉表视图运行其小的删除行动画,所有这一切都需要几秒钟的延迟 从高层来看,最好的方法是什么?将一些回调选择器放入ASIHTTPRequest的字典 对于一些漂亮的UI触
deleteRowsAtIndexPaths:withRowAnimation:
对于一些漂亮的UI触控,比如即将删除的单元格上的某种微调器,有一些额外的好处。我所知道的最优雅的方式是将核心数据用于本地数据,并让您的UITableView监听核心数据存储中的更改通知。这样可以保持模型/视图分离,但仍然可以获得行删除动画的视觉效果。事情是这样的:
- 用户说删除一行
- 您的代码发送一个ASIHTTPRequest,并注册一个选择器,以便在请求成功时回调
- 完成后,回调选择器将修改核心数据存储中的模型
- 这会自动通知UITableView行已删除,因此它可以设置行删除的动画
编辑:再仔细考虑一下,为了获得一个视觉指示器,表明该行即将被删除,您的核心数据模型可以在每一行上都有一个标志,“markedForDeletion”或其他什么;当启动ASIHTTPRequest时,还需要修改模型以将MarkedForDelete设置为true。UITableView将收到更改通知(因为它已注册通知);因此,它将在行的顶部执行您想要的任何UI,例如微调器或其他东西,以指示它正在被删除。然后,如果ASIHTTPRequest成功,它只删除该行;但是如果失败,它会将行“markedForDeletion”标志设置回false,这会导致UITableView关闭微调器。我认为在AsitpRequest中抛出一些回调选择器是很简单的。我不了解用户界面的触感,你想让我们为你设计一个用户界面吗?