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

당신이 어떤 응용 프로그램이나 다른 채팅 응용 프로그램처럼 흐르게하려면 viewDidLoad. 그런 다음 새 메시지가 올 경우 사용자는 알림 메시지를 클릭 한 다음 채팅보기로 이동하거나 채팅보기에서 새 메시지가 왔는지 확인한 다음 새 메시지 알림을 탭하여 채팅 창에 보낸 사람 메시지를로드합니다. 채팅보기의 다른 인스턴스를 만들지 마십시오. –

+0

segue를 다른 뷰 컨트롤러로 푸시 할 수 있습니다. 새 메시지가 끝나면 이전보기 컨트롤러로 되돌릴 수 있습니다. 그러나 나는 이것이 좋은 방법이라고 생각하지 않는다. 탭을 변경할 때보기를 업데이트 할 수 있도록 동일한보기 컨트롤러에 일종의 "탭"메커니즘을 구현하지 않는 이유는 무엇입니까? –

답변

0

호출하여이/새로 고침 채팅 뷰 컨트롤러를 다시로드 할 수있을 수는

관련 문제