问题描述
iOS如何实现每次打开聊天窗口的时候加载之前的全部聊天记录?我现在打开之后只能显示最近两天的记录。不知道是什么原因。如果有现成的代码的话麻烦提供参考一下...谢谢!
解决方案
chatViewController 里面ViewDidLoad中调用 //通过会话管理者获取已收发消息 long long timestamp = [[NSDate date] timeIntervalSince1970] * 1000 + 1; [self loadMoreMessagesFrom:timestamp count:KPageCount append:NO];我们设置KPageCount为20 所以默认是加载20条聊天记录。您可以在这里做修改。
解决方案二:
[self loadMoreMessagesFrom:timestamp count:KPageCount append:NO];这个方法接口是你们那边就有提供还是要我们自己写。我没找到可以调用出来这个方法的类
解决方案三:
[self loadMoreMessagesFrom:timestamp count:KPageCount append:NO];===================这个方法是自己写的,其核心调用的接口是SDK中的,如下:,具体使用可以参考demo实现。/*! @method @brief 根据时间加载指定条数的消息 @param aCount 要加载的消息条数 @param timestamp 时间点, UTC时间, 以毫秒为单位 @discussion 1. 加载后的消息按照升序排列; 2. NSDate返回的timeInterval是以毫秒为单位的, 如果使用NSDate, 比如 timeIntervalSince1970 方法,需要将 timeInterval 乘以1000 @result 加载的消息列表 */- (NSArray *)loadNumbersOfMessages:(NSUInteger)aCount before:(long long)timestamp;