0

我正在开发一个 iOS 应用程序,其中我有一个 UITableView 包含来自网络服务的人员列表,并且底部有一个更多按钮。当用户点击更多时,它会调用一项服务,为列表提供一些新人。现在我想在不重新加载整个 tableView 的情况下将此列表与以前的 tableView 列表一起添加。我如何做到这一点。

在此处输入图像描述 任何帮助都会非常显着。我可以提供更多按钮的代码,我正在调用服务以从服务中获取数据。

4

4 回答 4

3

UITableview 提供了几个用于操作内容的 API。你应该使用

- (void)insertRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation: (UITableViewRowAnimation)animation;

方法。Table View Programming Guide中描述了它们的应用方式。

实际上,当单击按钮时,您会启动对名称列表的网络请求,当完成时,您使用上述 API 将行添加到表中。

注意:只要您只对表格视图进行此修改,您就不必使用beginUpdates,endUpdates方法。如果一次执行多项更改(删除、添加、重新排序),则beginUpdates/endUpdates是必要的。

于 2013-09-19T11:57:54.470 回答
0

看看UITableView 的 - beginUpdates;- endUpdates方法。

在调用这些之间,您必须将行插入表视图中。如果您使用UITableView 的 - insertRowsAtIndexPaths:withRowAnimation:方法,您甚至可以跳过begin-and endUpdates

确保在调用之前将新对象插入到数据源对象中insertRowsAtIndexPaths:withRowAnimation:

于 2013-09-19T11:57:08.957 回答
0

如果您不想重新加载表,那么至少,您必须调用

insertRowsAtIndexPaths: withRowAnimation:

除了您不能在表格视图中显示新添加的数据。

于 2013-09-19T12:04:44.437 回答
-1

根据我的经验,It is not possible在不重新加载表格视图的情况下添加/显示新名称。

但是您可以按如下方式完成您的任务;

你可以设置arraCount(one varaible) for namesArray count. 调用webservice后即可increment arrayCount varaiable and reload the table view,在表格中会显示新添加的名称。

希望这会有所帮助。

于 2013-09-19T12:11:52.897 回答