UITableView无法重新加载内容。

3
我有一个嵌入在UIViewController中的UITableView,但是出现了一些问题。我已将表视图的代理设置为视图控制器。
1)数据源是从互联网检索到的数组。问题在于,当数据被下载并放入数组中,并且调用了[self.tipTableView reloadData]后,它不会更新表格。我可以看到numberOfRowsInSection:被调用并返回正确的数字(而不是0),但它不会调用cellForRowAtIndexPath:。然而,当数组在viewDidLoad中有数据时,它会正确加载。
2)我想默认情况下将表格隐藏,然后在按下按钮时显示。在viewDidLoad中将表格设置为隐藏可以正常工作,但是当我尝试在按下按钮时将其设置为可见时,它不起作用。我尝试使用self.tipTableView.hidden = NO;,但似乎只能在viewDidLoad中工作,而在其他方法中则不能。
表视图是在界面构建器中创建的,并连接到视图控制器,如下图所示: enter image description here 有人知道为什么会出现这些问题吗?
谢谢!

你要在哪里创建表格视图?如何创建? - DrummerB
表视图是在界面构建器中创建的,它与视图控制器连接,如此图所示链接。当数组内容在viewDidLoad中立即可用时,它可以工作,但在数据下载时却不能。 - user1706288
在你的代码中,你使用了 theTableView,但是在图片中,outlet 被称为 tipTableView。这可能是原因吗? - DrummerB
抱歉,我在问题中使用了TableView作为示例。我刚刚编辑了问题以使其更清晰。 - user1706288
你什么时候调用 [tableView reloadData] - ldiqual
显示剩余2条评论
3个回答

1
据我所知,cellForRowAtIndexPath方法是为当前在屏幕上可见的单元格调用的。我猜想,当你重新加载表格时,它仍然是不可见的。因此,如果有数据要显示,你可以尝试先将隐藏设置为NO,然后立即重新加载数据。

0

1:

您必须在您的数据源中至少实现以下方法:

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
    return 1;
}

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

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
// that's up to you
}

我猜你忘记实现 numberOfRowsInSection 了。

2:

尝试:

[self.tableView setHidden:NO];

如果您在显示后没有循环(while(condition) do_something;),那么这应该可以工作。

如果您正在主线程中从网络下载某些内容,情况也是如此。


这三种方法都在数据源中实现,如下所示:- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { // 返回分区数 return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { // 返回该分区的行数 NSLog(@"Number of Rows: %i", self.tips.count); return [self.tips count]; } - user1706288
当我尝试这样做并在tableView上使用NSLog时,我可以看到它将hidden = YES设置为应该的值,但实际上并没有进行更改。 TableView中的hidden属性被正确设置,但屏幕上的更改并未实现。 - user1706288

0

根据您的描述,我感觉您似乎没有正确地连接启动该操作的按钮。由于您说如果从viewDidLoad方法中运行它,它可以工作,但是当您将该操作连接到按钮时它不起作用。

您在IB中正确地连接了按钮吗?

您将其连接为操作还是输出?

还是您只是通过编程方式创建按钮?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接