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

#import <EMConversation.h>

类 EMConversation 继承关系图:

构造函数

(BOOL) - insertMessage:
 
(BOOL) - appendMessage:
 
(BOOL) - deleteMessageWithId:
 
(BOOL) - deleteAllMessages
 
(BOOL) - updateMessage:
 
(BOOL) - markMessageAsReadWithId:
 
(BOOL) - markAllMessagesAsRead
 
("setExt: will update extend properties to DB") - __deprecated_msg
 
(EMMessage *) - loadMessageWithId:
 
(NSArray *) - loadMoreMessagesFromId:limit:direction:
 
(NSArray *) - loadMoreMessagesWithType:before:limit:from:direction:
 
(NSArray *) - loadMoreMessagesContain:before:limit:from:direction:
 
(NSArray *) - loadMoreMessagesFrom:to:maxCount:
 
(EMMessage *) - latestMessageFromOthers
 

属性

NSString * conversationId
 
EMConversationType type
 
int unreadMessagesCount
 
NSDictionary * ext
 
EMMessagelatestMessage
 

详细描述

聊天会话

函数文档

- "setExt:

更新会话扩展属性到DB

返回
是否成功
- (BOOL) appendMessage: (EMMessage *)  aMessage

插入一条消息到会话尾部,消息的conversationId应该和会话的conversationId一致,消息会被插入DB,并且更新会话的latestMessage等属性

参数
aMessage消息实例
返回
是否成功
- (BOOL) deleteAllMessages

删除该会话所有消息

返回
是否成功
- (BOOL) deleteMessageWithId: (NSString *)  aMessageId

删除一条消息

参数
aMessageId要删除消失的ID
返回
是否成功
- (BOOL) insertMessage: (EMMessage *)  aMessage

插入一条消息,消息的conversationId应该和会话的conversationId一致,消息会被插入DB,并且更新会话的latestMessage等属性

参数
aMessage消息实例
返回
是否成功
- (EMMessage *) latestMessageFromOthers

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

返回
消息实例
- (EMMessage *) loadMessageWithId: (NSString *)  aMessageId

获取指定ID的消息

参数
aMessageId消息ID
返回
消息
- (NSArray *) loadMoreMessagesContain: (NSString *)  aKeywords
before: (long long)  aTimestamp
limit: (int)  aLimit
from: (NSString *)  aSender
direction: (EMMessageSearchDirection)  aDirection 

从数据库获取包含指定内容的消息,取到的消息按时间排序,如果参考的时间戳为负数,则从最新消息向前取,如果aLimit是负数,则获取所有符合条件的消息

参数
aKeywords搜索关键字,如果为空则忽略
aTimestamp参考时间戳
aLimit获取的条数
aSender消息发送方,如果为空则忽略
aDirection消息搜索方向
返回
消息列表<EMMessage>
- (NSArray *) loadMoreMessagesFrom: (long long)  aStartTimestamp
to: (long long)  aEndTimestamp
maxCount: (int)  aMaxCount 

从数据库获取指定时间段内的消息,取到的消息按时间排序,为了防止占用太多内存,用户应当制定加载消息的最大数

参数
aStartTimestamp毫秒级开始时间
aEndTimestamp结束时间
aMaxCount加载消息最大数
返回
消息列表<EMMessage>
- (NSArray *) loadMoreMessagesFromId: (NSString *)  aMessageId
limit: (int)  aLimit
direction: (EMMessageSearchDirection)  aDirection 

从数据库获取指定数量的消息,取到的消息按时间排序,并且不包含参考的消息,如果参考消息的ID为空,则从最新消息向前取

参数
aMessageId参考消息的ID
aLimit获取的条数
aDirection消息搜索方向
返回
消息列表<EMMessage>
- (NSArray *) loadMoreMessagesWithType: (EMMessageBodyType)  aType
before: (long long)  aTimestamp
limit: (int)  aLimit
from: (NSString *)  aSender
direction: (EMMessageSearchDirection)  aDirection 

从数据库获取指定类型的消息,取到的消息按时间排序,如果参考的时间戳为负数,则从最新消息向前取,如果aLimit是负数,则获取所有符合条件的消息

参数
aType消息类型
aTimestamp参考时间戳
aLimit获取的条数
aSender消息发送方,如果为空则忽略
aDirection消息搜索方向
返回
消息列表<EMMessage>
- (BOOL) markAllMessagesAsRead

将所有未读消息设置为已读

返回
是否成功
- (BOOL) markMessageAsReadWithId: (NSString *)  aMessageId

将消息设置为已读

参数
aMessageId要设置消息的ID
返回
是否成功
- (BOOL) updateMessage: (EMMessage *)  aMessage

更新一条消息,不能更新消息ID,消息更新后,会话的latestMessage等属性进行相应更新

参数
aMessage要更新的消息
返回
是否成功

属性说明

- (NSString*) conversationId
readnonatomiccopy

会话唯一标识

- (NSDictionary*) ext
readwritenonatomiccopy

会话扩展属性

- (EMMessage*) latestMessage
readnonatomicstrong

会话最新一条消息

- (EMConversationType) type
readnonatomicassign

会话类型

- (int) unreadMessagesCount
readnonatomicassign

会话未读消息数量


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