UITableView 只显示第一行

发布于 2024-10-09 03:09:33 字数 891 浏览 2 评论 0原文

我的应用程序有 3 个选项卡(“儿童”、“积分”和“请求”),其结果列表相同。 我使用自定义单元格在 3 个选项卡中显示具有相同数据的孩子信息。

例如:

儿童选项卡:

  • 儿童姓名 1
  • 儿童姓名 2
  • 儿童姓名 3

积分选项卡:

  • 儿童姓名 1
  • 儿童姓名 2
  • 儿童姓名 3

请求选项卡:

  • 孩子姓名 1
  • 孩子姓名 2
  • 孩子姓名 3

当我转到“请求”并选择一个孩子时,我会推送另一个视图,其中包含每个所选孩子的总请求数。 现在非常奇怪的事情是,当我返回“积分”或“儿童”选项卡并重新加载(我使用拉动刷新,这不是问题)时,只出现第一行!

我使用 NSXML 来解析 XML 并添加到名为 itemList 的 NSMutableArray 中,然后填充表视图。

我已经尝试过的:

  1. 尝试用 TBXML 替换 NSXML 解析器没有成功 出现同样的问题。

  2. 尝试删除自定义单元格并使用 默认单元格没有成功。

  3. 尝试更改单元格标识符 没有成功。

  4. 尝试更改所有变量名称 试图避免变量 替换。

  5. NSLog 记录应用程序中的所有变量和对象 试图展示一切而不 成功。

  6. 尝试删除拉动刷新并 出现同样的问题。

感谢您的各种帮助:)

谢谢! 克莱伯·桑托斯

My app has 3 tabs (Kids, Points and Requests) with same result list.
I'm using a custom cell to show kids information with same data in 3 tabs.

For example:

Kids Tab:

  • Kid name 1
  • Kid name 2
  • Kid name 3

Points tab:

  • Kid name 1
  • Kid name 2
  • Kid name 3

Requests tab:

  • Kid name 1
  • Kid name 2
  • Kid name 3

When I go to Requests and select a kid I push another view with total requests per selected kid.
Now the VERY weird thing, when I back to Points or Kids tab and reload (i'm using pull to refresh, what is not the problem) only the FIRST row appear!

I'm using NSXML to parse the XML and adding to a NSMutableArray called itemList after this I populate the tableview.

What I already tried:

  1. tried to replace NSXML with TBXML
    parser without success the
    sameproblem occurs.

  2. tried to remove custom cells and use
    the default cell without success.

  3. tried to change the cell identifiers
    without success.

  4. tried to change all variables names
    trying to avoid variable
    replacement.

  5. NSLog in all vars and objs in app
    trying to show everything without
    success.

  6. tried to remove pull to refresh and
    same problem occurs.

All kind of help its appreciated :)

Thanks!
Cleber Santos

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁对谁错谁最难过 2024-10-16 03:09:34

您需要知道的第一件事是这是数据问题还是tableviewdelegate问题。我首先会交换静态 NSArray 来代替您的数据源,然后在模拟器中重新运行您的应用程序。如果它按预期工作,则意味着静态数据“有效”,问题出在您的数据源上。

如果静态 NSArray 数据不起作用,则意味着您的问题出在 tableView 的委托或(更有可能)dataSource 方法上。如果事实证明是这种情况,那么请尝试查找它,并在以后的帖子中提供代码示例(如果您需要帮助)。

注意:在将数据源替换为 NSArray 之前,最好在 Git/Subversion/其他内容中对源进行分支,这样,如果它不适用于静态数据,您可以可以撤回您的更改。不要告诉我你没有使用 SCM!!!!

The first thing you need to know is if this is a data problem or if this is a tableviewdelegate problem. I would start by swapping a static NSArray in place of your data source then re-running your app in the simulator. If it works as expected, then that means that the static data "worked" and the problem is your data source.

If the static NSArray data doesn't work, then that means your problem is with your tableView's delegate or (more likely) dataSource methods. If it turns out this is the case, then try to hunt it down and supply a code sample in a future post if you need help.

NOTE: Before you swap out your data source for the NSArray would be a good time to branch your source in Git/Subversion/whatever so that if it doesn't work with the static data you can pull back your changes. And DON'T TELL ME YOU'RE NOT USING SCM!!!!!

岁月静好 2024-10-16 03:09:34

您需要确保您的数据源是正确的。 UITableView 只是一个视图。无论您的视图如何,您都需要检查是否确实正确存储了数据。我的猜测是您在切换视图时破坏了数据。

you need to make sure your data source is correct. The UITableView is just that, a view. You need to check that you actually have the data stored properly regardless of your view. My guess is that you clobbered your data when switching views.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文