2014-03-31 4 views
0

나는 JSMessagesViewController을 사용하고 있으며 현재 하나의 NSMutableArray을 사용하고 있습니다. (짧은 이야기, 그것은 단지 채팅 UI이다). 모든 메시지가 1 (NSMutableArray)이되면 2 명의 사용자간에 메시지를 어떻게 구별 할 수 있습니까?채팅 메시지 분리

바로 지금 나는 직선리스트를 만들 수 있지만 테이블의 반대쪽에 있기 때문에 차별화 할 방법이 필요합니다.

+0

JSMessagesViewController를 공유 할 수 있습니까? –

+0

그래서 당신은 당신이 시도한 것과 어디에서 붙어 있습니까? – ErrorNotFoundException

+0

코드를보세요! 'JSBubbleMessageTypeOutgoing'은 들어오는 메시지와 나가는 메시지를 구별하는 것과 관련이있는 것처럼 들립니다. –

답변

0

메시지 작성자와 동일한 색인을 보유하는 두 번째 NSMutableArray을 가질 수 있습니다. 또 다른 해결책은 하나의 NSMutableArray을 사용하고 작성자와 메시지를 섞어서 첫 번째 요소 작성자, 두 번째 메시지, 세 번째 다음 작성자, 네 번째 메시지를 갖도록하는 것입니다.

마지막으로 중요한 해결책은 무엇이겠습니까? NSMutableArray을 사용하고 NSDictionary을 오브젝트로 추가하십시오. 사전에는 두 개의 키, 작성자 및 메시지 네 가지 예가있을 수 있습니다. 이 마지막 접근 방식을 사용하면 사전을 확장하여 각 메시지 또는 태그의 타임 스탬프 또는 나중에 생각할 내용을 포함 할 수 있습니다.

0

당신은 당신이 설정 '보낸 사람 :'수

    [self.messages addObject:[[JSMessage alloc] initWithText:message.body sender:kSourceUserName date:message.timestamp]]; 

방법이 다음 사용자 ID와 사용자 이름을 재번역 그들이 ID로 2 사용자를로드 할 수 있습니다 귀하의 VC를 시작에

또는과 그리고 나서 메시지를 소스 (자기 사용자)와 목적지 사용자로 할당하십시오.

0

제 경우에는 jsqmessage m을 생성 할 때 isOutgoing 키를 사용하여 메시지 배열을 생성하고, 해당 키를 확인한 후에는 sOutgoing을 추가하고, isOutgoing을 추가하십시오. reciver name senderId를 추가 한 다음 messag를로드하십시오. e, 그것은 반대편에있을 것입니다.

관련 문제