【发布时间】:2013-12-26 11:53:17
【问题描述】:
我在 iOS 应用程序中有聊天功能,使用 XMPP 框架。但我坚持实现同时聊天。例如,如果用户正在与好友聊天,并且有来自另一个好友的新消息,我可以打开另一个实例相同的聊天视图控制器来显示该消息?
这是我的聊天视图控制器
-(void)recvdMsg:(NSDictionary *)msg
{
NSLog(@"received message : - %@" , msg); // contains message & sender.
NSMutableDictionary *newMsg=[[NSMutableDictionary alloc]init];
NSString *m = [msg objectForKey:@"msg"];
[newMsg setObject:m forKey:@"message"];
// few more lines and finally;
[bbltblView reloadData]; // reload table view.
现在,如果来自另一个发件人的消息进来,我想将用户导航到一个新的 ChatVC,他也可以回到当前聊天。所以如果......
if (self.title != sender)
{
// navigating to another instance.
}
【问题讨论】:
-
如果您想像什么应用程序或其他聊天应用程序一样流动。然后一旦出现新消息并且用户单击通知中的消息然后将它们移动到 ChatView,或者如果您在聊天视图中并且新消息来了,并使用点击新消息通知然后在聊天窗口中加载发件人消息。不要创建您的聊天视图的任何其他实例。
-
您可以将 segue 推送到另一个视图控制器。完成新消息后,您可以放松回到之前的视图控制器。但我认为这不是一个好方法。为什么不在同一个视图控制器中实现某种“选项卡”机制,以便在更改选项卡时更新视图?
标签: ios objective-c uiviewcontroller uinavigationcontroller