NSArray *buddyList = [[EaseMob sharedInstance].chatManager buddyList]; 获取到的都是空的,什么原因?
为了方便读取,SDK提供了这个方法,该方法的作用是读取内存中的值,当您登录后,需要您主动去网络取一次buddyList,之后才会有值,否则内存中的值为空。
从服务器获取好友列表的方法是:
/*!
@method
@brief 手动获取好友列表
@discussion
@result 好友列表
*/
- (NSArray *)fetchBuddyListWithError:(EMError **)pError;
/*!
@method
@brief 手动获取好友列表(异步方法)
@discussion 好友列表获取完成时, 会调用 didFetchedBuddyList:error(EMChatManagerBuddyDelegate.h 中) 回调方法
*/
- (void *)asyncFetchBuddyList;
/*!
@method
@brief 手动获取好友列表(异步方法)
@discussion
@param completion 获取好友列表完成后的回调
@param queue completion block 回调时的线程
*/
- (void *)asyncFetchBuddyListWithCompletion:(void (^)(NSArray *buddyList, EMError *error))completion
onQueue:(dispatch_queue_t)queue;
从服务器获取好友列表的方法是:
/*!
@method
@brief 手动获取好友列表
@discussion
@result 好友列表
*/
- (NSArray *)fetchBuddyListWithError:(EMError **)pError;
/*!
@method
@brief 手动获取好友列表(异步方法)
@discussion 好友列表获取完成时, 会调用 didFetchedBuddyList:error(EMChatManagerBuddyDelegate.h 中) 回调方法
*/
- (void *)asyncFetchBuddyList;
/*!
@method
@brief 手动获取好友列表(异步方法)
@discussion
@param completion 获取好友列表完成后的回调
@param queue completion block 回调时的线程
*/
- (void *)asyncFetchBuddyListWithCompletion:(void (^)(NSArray *buddyList, EMError *error))completion
onQueue:(dispatch_queue_t)queue;