HyphenateChatSDK 4.2.3
构造函数 | 属性 | 所有成员列表
EMConversation类 参考

#import <EMConversation.h>

类 EMConversation 继承关系图:

构造函数

(EMChatMessage *_Nullable) - lastReceivedMessage
 
(void) - insertMessage:error:
 
(void) - appendMessage:error:
 
(void) - deleteMessageWithId:error:
 
(void) - deleteAllMessages:
 
(void) - removeMessagesFromServerWithTimeStamp:completion:
 
(void) - updateMessageChange:error:
 
(EMError *_Nullable) - removeMessagesStart:to:
 

属性

NSString * conversationId
 
EMConversationType type
 
int unreadMessagesCount
 
int messagesCount
 
NSDictionary * ext
 
BOOL isChatThread
 
BOOL isPinned
 
int64_t pinnedTime
 
EMChatMessagelatestMessage
 

详细描述

聊天会话类。

函数文档

◆ appendMessage:error:

- (void) appendMessage: (EMChatMessage *_Nonnull)  aMessage
error: (EMError **_Nullable)  pError 

插入一条消息到 SDK 本地数据库会话尾部。

消息的 conversationId 应该和会话的 conversationId 一致。

消息会被插入 SDK 本地数据库,并且更新会话的 latestMessage 等属性。

参数
aMessage消息实例。
pError错误信息。

◆ deleteAllMessages:

- (void) deleteAllMessages: (EMError **_Nullable)  pError

清除内存和数据库中指定会话中的消息。

参数
pError错误信息。

◆ deleteMessageWithId:error:

- (void) deleteMessageWithId: (NSString *_Nonnull)  aMessageId
error: (EMError **_Nullable)  pError 

从 SDK 本地数据库删除一条消息。

参数
aMessageId要删除的 ID。
pError错误信息。

◆ insertMessage:error:

- (void) insertMessage: (EMChatMessage *_Nonnull)  aMessage
error: (EMError **_Nullable)  pError 

插入一条消息在 SDK 本地数据库

消息的会话 ID 应与会话的 ID 保持一致。

消息会根据消息里的时间戳被插入 SDK 本地数据库,SDK 会更新会话的 latestMessage 等属性。

参数
aMessage消息实例。
pError错误信息。

◆ lastReceivedMessage

- (EMChatMessage *_Nullable) lastReceivedMessage

收到的对方发送的最后一条消息。

返回
消息实例。

◆ removeMessagesFromServerWithTimeStamp:completion:

- (void) removeMessagesFromServerWithTimeStamp: (NSTimeInterval)  beforeTimeStamp
completion: (void(^)(EMError *_Nullable aError))  aCompletionBlock 

从会话中删除消息(包括本地存储和服务器存储)。

参数
beforeTimeStampUNIX 时间戳,单位为毫秒。若消息的 UNIX 时间戳小于设置的值,则会被删除。
completion该方法完成调用的回调。如果该方法调用失败,会包含调用失败的原因。

◆ removeMessagesStart:to:

- (EMError *_Nullable) removeMessagesStart: (NSInteger)  aStartTimestamp
to: (NSInteger)  aEndTimestamp 

从本地数据库中删除指定时间段内的消息。

参数
aStartTimestamp删除消息的起始时间。UNIX 时间戳,单位为毫秒。
aEndTimestamp删除消息的结束时间。UNIX 时间戳,单位为毫秒。
返回
EMError 消息是否删除成功:
  • 若操作成功,返回 nil
  • 若操作失败,返回错误原因,例如参数错误或数据库操作失败。

◆ updateMessageChange:error:

- (void) updateMessageChange: (EMChatMessage *_Nonnull)  aMessage
error: (EMError **_Nullable)  pError 

更新 SDK 本地数据库的消息。

消息更新时,消息 ID 不会修改。

消息更新后,SDK 会自动更新会话的 latestMessage 等属性。

参数
aMessage要更新的消息。
pError错误信息。

属性说明

◆ conversationId

- (NSString*) conversationId
readnonatomiccopy

会话 ID。

  • 单聊:会话 ID 为对方的用户 ID。
  • 群聊:会话 ID 为群组 ID。
  • 聊天室:会话 ID 为聊天室的 ID。

◆ ext

- (NSDictionary*) ext
readwritenonatomiccopy

会话扩展属性。

子区功能目前版本暂不可设置。

◆ isChatThread

- (BOOL) isChatThread
readwritenonatomicassign

是否为 thread 会话:

  • YES:是
  • NO:否

◆ isPinned

- (BOOL) isPinned
readatomicassign

是否为置顶会话:

  • YES:是
  • NO:否

◆ latestMessage

- (EMChatMessage*) latestMessage
readnonatomicstrong

会话中的最新一条消息。

◆ messagesCount

- (int) messagesCount
readnonatomicassign

会话中的消息数量。

◆ pinnedTime

- (int64_t) pinnedTime
readatomicassign

会话置顶的 UNIX 时间戳,单位为毫秒。未置顶时值为 0

◆ type

- (EMConversationType) type
readnonatomicassign

会话类型。

◆ unreadMessagesCount

- (int) unreadMessagesCount
readnonatomicassign

会话中未读取的消息数量。


该类的文档由以下文件生成: