【问题标题】:json data in table for iPhoneiPhone 表格中的 json 数据
【发布时间】:2011-11-03 04:13:01
【问题描述】:

我无法在我的表中显示通过异步HttpRequest 获得的json 数据。 我没有用于 tableView 的IBOutlet 是我通过实现UITableViewDelegateUITableViewDataSource 的委托方法在我的代码中创建该表。

【问题讨论】:

  • 我尝试在控制台中打印行数,但此时代码无法运行...
  • 对不起,我正在尝试,但我是新手,不知道格式
  • 编辑您的问题以提供更多信息。编辑时很容易找到编辑器帮助。

标签: iphone ios ios4 xcode4


【解决方案1】:

您需要在 .h 文件中删除 yourTable 并为此创建 IBOutlet 并进行正确连接。

.h 文件

IBOutlet UITableView *yourTable;

还为 tableView 的委托和数据源与文件所有者建立连接。

然后在connectiDidFinishLoading重新加载你的表

[yourTable reloadData];

【讨论】:

  • 但是如何将 yourTable 与 tableView 链接?
  • yourTable 是表的名称,您可以提供所需的任何内容,然后使用该 iVar 名称访问该表。表示不需要写tableView。
  • 为了使连接打开 xib 选择文件的所有者,您将在连接检查器中看到您的 iboutlets。然后与表建立连接,在xib中选择表连接数据源并委托给文件的所有者。
  • 如果我将 tableView 更改为 yourTable,我会收到一个编译器警告,即 yourTable 的本地声明隐藏了 cellFOrRowAtIndexpath 方法中的实例变量
  • 在cellForRowAtIndexPath中,不需要重新声明yourTable使用tableView(它是方法的参数)。和 [yourTable reloadData] 行用于 connectionDidFinishLoad
【解决方案2】:

如果你想访问tableView并且你在tableViewController中,你可以使用:

self.tableView

如果您不在控制器中,请保留指向此控制器或直接指向 tableView 的指针。 在.h中声明并在IB文件中链接。

然后调用

[self.tableView reloadData];

【讨论】:

  • 由于我在 tableview 委托方法中制作了 tableView,我无法在 connectionDidFinishLoading 方法中访问它
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-17
  • 1970-01-01
  • 1970-01-01
  • 2011-08-19
相关资源
最近更新 更多