Section Headers和Row Content ...希望它们同时显示

时间:2013-07-02 00:48:34

标签: ios uitableview cocoa-touch networking asynchronous

我有一个包含节标题的表格视图。我希望行内容和节标题同时显示。目前,他们没有。我知道为什么。我必须调用服务器来获取数据以填充行。当我这样做时,标题已经显示出来了。我的问题是如何让行显示自己的标题?

如果重要,我正在使用AFnetworking进行网络通话。我使用的是iOS 6.1,但我想支持iOS 5(再次,如果重要的话)。

1 个答案:

答案 0 :(得分:0)

您的委托方法需要考虑数据是异步进入的。让我们暂时假设您的数据模型由一系列节组成,数组中的每个元素都是一个包含标题和行数据数组的字典。您的numberOfRowsInSection将如下所示:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    return [sectionsArray count];
}

因此当sectionsArray为空时,表视图将知道零部分并且不会显示任何内容。当您的异步数据进入时,您会填充sectionsArray,然后拨打[tableView reloadData]numberOfRowsInSection将再次被调用,这次返回非零数量的部分,表格将填充自己。

如果您想使用TLIndexPathTools等第三方库,则所有这些都更容易设置。它可以自动将数据组织成各个部分,并提供标准化的数据模型,其中包含许多便于实现委托方法的便捷方法。尝试运行JSON示例项目和see my comments关于异步加载