gpt4 book ai didi

iphone - [UITableView reloadData] 是怎么回事?

转载 作者:行者123 更新时间:2023-12-03 18:18:40 24 4
gpt4 key购买 nike

我有一个带有 UITableView 的应用程序。此 UITableView 由 appDelegate 中保存的 NSMutableArray(作为属性)填充。您可以将其视为电子邮件窗口。它在子类 UITableViewCell 中列出消息。当出现新消息时,我已完成下载消息、将数据添加到保存所有消息的 appDelegate 的 NSMutableArray 的所有代码。这段代码运行良好。

现在,一旦新消息被下载并添加到数组中,我尝试使用以下代码更新我的 UITableView,但是 - UITableView 的委托(delegate)函数不会被调用。

奇怪的是,当我上下滚动 UITableView 时,委托(delegate)方法最终被调用,并且我的部分标题确实发生了变化(它们显示了该部分的消息计数)。难道他们不应该实时更新而不是等待我的滚动触发刷新吗?此外,新单元格永远不会添加到该部分中!!

请帮忙!!

APPDELEGATE代码:

[self refreshMessagesDisplay]; //This is a call placed in the msg download method

-(void)refreshMessagesDisplay{
[self performSelectorOnMainThread:@selector(performMessageDisplay) withObject:nil waitUntilDone:NO];
}

-(void)performMessageDisplay{
[myMessagesView refresh];
}

UITableViewController代码:

-(void) refresh{
iPhone_PNPAppDelegate *mainDelegate = (iPhone_PNPAppDelegate *)[[UIApplication sharedApplication] delegate];

//self.messages is copied from appDelegate to get (old and) new messages.
self.messages=mainDelegate.messages;

//Some array manipulation takes place here.

[theTable reloadData];
[theTable setNeedsLayout]; //added out of desperation
[theTable setNeedsDisplay]; //added out of desperation
}

最佳答案

作为健全性检查,您是否已验证 theTable 此时不为零?

关于iphone - [UITableView reloadData] 是怎么回事?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/807407/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com