2014-03-05 36 views
0

我正在开发IOS messanger应用程序,我有收件箱(tableview),其中有单元格(会话),当我选择一个会话时,我想提出这个会话(tableviewController充满了消息) ,但我不喜欢多少时间来呈现这个控制器。所以我的想法是在选择对话之前创建完整的控制器(tableviewController充满消息)对象,然后再推送它们。我第一次选择对话时,它是空白的,返回后再选择它,它工作。问题很明显,有些变量是在viewDidLoad方法中初始化的。我试图将它们移到init方法,但每次谈话都是空白的。 你有这方面的经验吗?任何提示都将被赞赏很多。 谢谢!!!创建TableviewController并呈现它

+0

,你能告诉我们一些代码。这样就很容易找出问题 –

回答

1

.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; 
    } 
} 
+0

谢谢,这帮助我弄明白了。 – beretis

0

这听起来像你正在做的过早优化。创建和推送表视图控制器应该只需要很短的时间。如果花费时间更长,则有些问题。你是从远程服务器加载对话数据还是其他?

您可能想使用仪器来确定什么是需要额外的时间和造成延迟。然后你可以专注于实际的原因而不是猜测。

在tableviewController完整邮件的
+0

谢谢你的帮助。 :) – beretis

相关问题