0

我知道 www 周围有几个帖子,但遗憾的是我没有加载 tableView。这是我的代码:

.h 文件

@interface ViewControllerSzenenLichter : UIViewController<UITableViewDelegate, UITableViewDataSource>{
 IBOutlet UITableView *tableView;
}
@property (nonatomic, retain) IBOutlet UITableView *tableView;
@end

我将 IBOutlet 与 Storyboard 中的 tableview 连接起来

.m 文件

@interface ViewControllerSzenenLichter ()
@end
@implementation ViewControllerSzenenLichter
@synthesize tableView;

我尝试执行的代码中的某处

[self.tableView reloadData]

哪个被执行(由断点检查)

但是方法 numberOfRowsInSection 或 numberOfSectionsInTableView 永远不会被调用!

如前所述,我在网上找到了很多教程,但我无法解决问题。

谢谢

4

5 回答 5

0

In the storyboard Right click over the table you will see datasource and delegates as the first two options.Connect both to the viewcontroller (same as you did for outlet connection) and run again.

The final table connections will be like this

enter image description here

于 2013-08-27T08:54:00.993 回答
0

通过委托和数据源将您的 TableView 连接到文件的所有者......

我想你的问题会解决的。这是一张图片,供您理解击球手...

将您的 TableView 连接到文件的所有者

于 2013-08-27T09:03:35.307 回答
0

看来,您连接一个 IBOutlet 并在重新加载数据时使用另一个:您有两个 ivars tableView(您手动创建它)和_tableView(创建的编译器和链接@property (nonatomic, retain) IBOutlet UITableView *tableView;),我现在不知道哪一个将显示为文件所有者的 TableView 属性界面生成器。尝试删除IBOutlet UITableView *tableView;ivar 并重新连接 IB 中的表

于 2013-08-27T08:54:27.150 回答
0

你的孩子tableView基本上是你父母的一个细胞tableView

因此,除非您重新加载 parent ,否则tableView单元格将不会更新,因此tableView不会绘制孩子。

[childTableView reloadData];
[parentTableView reloadData];

编辑:@Desdenova 是对的。确保将您的delegateand设置data sourceself或任何管理表格的类。

于 2013-08-27T08:49:03.603 回答
0

首先,确保您在 xib 文件或表的实现文件中设置委托。如果仍然无法正常工作,请检查您正在重新加载表的代码。如果主线程忙于做其他事情,它不会调用 UITableView 的任何委托方法。所以当代码完成时,然后重新加载tableview。

于 2013-08-27T08:55:20.817 回答