我正在开发IOS messanger应用程序,我有收件箱(Tableview),其中我有单元格(会话),当我选择一个会话时,我想展示这个对话(充满消息的tableviewController),但是我不想花多少时间来呈现这个控制器。因此,我的想法是在选择会话之前创建整个控制器(充满消息的tableviewController)对象,然后将它们推送。当我第一次选择对话时,它是空白的,返回后再选择它,它就能工作了。问题很明显,一些变量在viewDidLoad方法中被初始化。我试着把他们移到init方法上,但是每次谈话都是空白的。你有这方面的经验吗?任何暗示都会很感激的。谢谢!
发布于 2014-03-05 03:26:50
在充满消息的tableviewController中:
.h文件:
@property (nonatomic, assign) BOOL firstAppear;.m文件
self.firstAppear = NO; //in init method
- (void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
if (self.firstAppear) {
//add a indicator view here
}
}
- (void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
if (self.firstAppear) {
//get tableView data here, then [tableView reloadData] to show data
//remove the indicator
self.firstAppear = NO;
}
}发布于 2014-03-05 01:35:18
听起来你好像在做过早的优化。创建和推送表视图控制器应该花费一小部分秒时间。如果要花更长时间,就会有问题。您是否从远程服务器或其他地方加载会话数据?
您可能想要使用仪器来找出什么是额外的时间和造成延迟。然后你可以专注于实际的原因,而不是猜测。
https://stackoverflow.com/questions/22186365
复制相似问题