3
XMPP 프레임 워크를 사용하여 iOS 앱에서 채팅 기능을 사용할 수 있습니다.하지만 동시 채팅을 구현하는 데 어려움이 있습니다. 예를 들어 사용자가 대화 상대와 채팅 중이며 다른 대화 상대가 새 메시지를받는 경우 다른 대화 상대 인스턴스를 열 수 있습니까? 동일한 채팅보기 컨트롤러를 사용하여 해당 메시지를 표시 하시겠습니까? 동일한 UIViewController의 새 인스턴스를 만드는 방법은 무엇입니까?
이
다른 보낸 사람의 메시지가 오면, 나는 새로운 ChatVC에 사용자를 탐색 할 그가 well.So로 현재 채팅 경우에 다시 올 수 이제 내 채팅보기 컨트롤러-(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.
입니다 ....
if (self.title != sender)
{
// navigating to another instance.
}
당신이 어떤 응용 프로그램이나 다른 채팅 응용 프로그램처럼 흐르게하려면
viewDidLoad
. 그런 다음 새 메시지가 올 경우 사용자는 알림 메시지를 클릭 한 다음 채팅보기로 이동하거나 채팅보기에서 새 메시지가 왔는지 확인한 다음 새 메시지 알림을 탭하여 채팅 창에 보낸 사람 메시지를로드합니다. 채팅보기의 다른 인스턴스를 만들지 마십시오. –segue를 다른 뷰 컨트롤러로 푸시 할 수 있습니다. 새 메시지가 끝나면 이전보기 컨트롤러로 되돌릴 수 있습니다. 그러나 나는 이것이 좋은 방법이라고 생각하지 않는다. 탭을 변경할 때보기를 업데이트 할 수 있도록 동일한보기 컨트롤러에 일종의 "탭"메커니즘을 구현하지 않는 이유는 무엇입니까? –