我真的需要有人帮忙。
我正在创建简单的聊天应用程序。我有单个视图控制器,其中列出了用户列表。在选择其中一个用户单元格时,它会通过加载显示聊天窗口 聊天的历史(通过prepareForSegue)。
现在关闭聊天窗口并返回用户列表查看控制器窗口,然后再次选择用户单元以再次显示相同的聊天窗口。 这是问题,
聊天视图控制器再次重新加载聊天记录中的数据。
但我希望聊天视图控制器能够保留上次显示的数据或视图,而无需重新加载或创建表格单元格。
任何人都可以告诉我他们能以任何方式完成这项工作吗?
以下是segue的代码片段,
- (void)tableView: (UITableView *)tableView didSelectRowAtIndexPath: (NSIndexPath *)indexPath
{
DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);
XMPPUserCoreDataStorageObject *user = [[self fetchedResultsController] objectAtIndexPath:indexPath];
_currentChatWith = user.jidStr;
_isChatting = YES;
[_tableView setEditing: NO animated: NO];
[self performSegueWithIdentifier: @"chatSegue" sender: self];
}
/////////////////////////////////////////////////////////////////////////////////////////////
#pragma -mark prepareForSegue
/////////////////////////////////////////////////////////////////////////////////////////////
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
DDLogVerbose(@"%@: %@", THIS_FILE, THIS_METHOD);
if ([segue.identifier isEqualToString: @"chatSegue"])
{
ChatViewController *chatViewController = (ChatViewController *)segue.destinationViewController;
chatViewController.appDelegate = [self appDelegate];
chatViewController.rosterJid = _currentChatWith;
chatViewController.isGroup = NO;
_currentChatViewController = chatViewController;
}
}