分离聊天消息

时间:2014-03-31 08:45:01

标签: ios iphone objective-c

我正在使用JSMessagesViewController,目前我正在使用一个NSMutableArray。 (长话短说,它只是一个聊天UI)。聊天只在2个人之间,我想知道,如果所有消息都进入1(一)NSMutableArray,我如何区分2个用户之间的消息?

现在我可以创建一个直接列表,但我需要一种方法来区分它,因为它们位于表的两侧。

3 个答案:

答案 0 :(得分:0)

您可以拥有第二个NSMutableArray,其中包含与邮件作者相同的索引。另一种解决方案是使用一个NSMutableArray并混合作者和消息,因此你有第一个元素作者,第二个消息,第三个下一个作者,第四个消息,....

最后但并非最不重要的另一种解决方案是使用一个NSMutableArray并添加NSDictionary作为对象。字典可以有两个键,作者和消息四个例子。最后一种方法允许您扩展字典以包含例如每个消息或标记的时间戳或您稍后想到的任何内容。

答案 1 :(得分:0)

你有方法

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

您可以将'sender:'设置为用户ID,然后将其重新转换为用户名

或者在启动VC时,您可以使用ID加载2个用户,然后将消息作为源(自用户)和目标用户分配给他们

答案 2 :(得分:0)

在我的情况下,我有一个带有isOutgoing键的消息数组,当我创建jsqmessage m检查该键时,如果它正在输出然后添加senderId,如果!isOutgoing然后添加reciver名称senderId,然后加载消息,它将在对面侧。