Iphone 分组表视图空部分

Iphone 分组表视图空部分,iphone,cocoa-touch,uitableview,Iphone,Cocoa Touch,Uitableview,我已经阅读了我能找到的关于这个问题的所有答案,包括以下答案: 我试图实现的最著名的例子可能类似于Contacts应用程序的详细信息屏幕。一些联系人有电话号码和电子邮件,其他人有多个电话号码但没有电子邮件等。我的数据来自远程服务器,一些人的记录可能有电话号码,其他人可能有3个电子邮件地址但没有电话,其他人可能有2个电话号码和2个电子邮件地址等 关于如何处理此问题的任何建议,再次以Contacts为例(分区数量可变、每个分区的行数可变的分组表视图)。在我上面发布的链接中,一个简单使用deleteSe

我已经阅读了我能找到的关于这个问题的所有答案,包括以下答案:

我试图实现的最著名的例子可能类似于Contacts应用程序的详细信息屏幕。一些联系人有电话号码和电子邮件,其他人有多个电话号码但没有电子邮件等。我的数据来自远程服务器,一些人的记录可能有电话号码,其他人可能有3个电子邮件地址但没有电话,其他人可能有2个电话号码和2个电子邮件地址等

关于如何处理此问题的任何建议,再次以Contacts为例(分区数量可变、每个分区的行数可变的分组表视图)。在我上面发布的链接中,一个简单使用deleteSections:withRowAnimation有意义的答案是:但我不清楚在这个场景中如何实现这一点,因为我没有使用CommittedItingStyle,我只想动态地“删除”空节


谢谢您的时间。

为什么要构建空单元格,只是为了再次删除它们? 编写一个类,将检索到的数据格式化为UITableViewController能够理解的数据对象,例如SectionDataObject

首先定义一些部分,例如电子邮件部分、电话号码部分等。 让您的SectionDataObject为这些分区类别、emailsArray、PhoneNumberArray等保存一个数组


现在,在所有委托方法中,您只需引用SectionDataObject的不同数组。如果用户收到15封电子邮件且没有电话号码,则不再是问题,emailsArray将返回count 15,PhoneNumberRay将返回count 0。

只需从
-(NSInteger)tableView:(UITableView*)tableView numberofrowsinssection:(NSInteger)section返回
,对于空的部分。

您好,谢谢你的来信。在numberOfRowsInSection中返回0会留下一个值得注意的空白区域,该区域以前位于该区域。然后,您可以维护一个可变数组数组作为表的数据源。顶部数组将表示部分,内部数组将表示部分下的单元。这样,顶部数组将包含确切数量的节(根据数据-如果其中一个节没有数据,则顶部数组中该节将没有元素)。