NIMSDK-iOS
载入中...
搜索中...
未找到
<NIMUserManager>协议 参考

#import <NIMUserManagerProtocol.h>

类 <NIMUserManager> 继承关系图:

构造函数

(void) - requestFriend:completion:
 
(void) - deleteFriend:completion:
 
(void) - deleteFriend:removeAlias:completion:
 
(nullable NSArray< NIMUser * > *) - myFriends
 
(BOOL) - isMyFriend:
 
(void) - addToBlackList:completion:
 
(void) - removeFromBlackBlackList:completion:
 
(BOOL) - isUserInBlackList:
 
(nullable NSArray< NIMUser * > *) - myBlackList
 
(void) - updateNotifyState:forUser:completion:
 
(BOOL) - notifyForNewMsg:
 
(nullable NSArray< NIMUser * > *) - myMuteUserList
 
(void) - fetchUserInfos:completion:
 
(nullable NIMUser *) - userInfo:
 
(void) - updateUser:completion:
 
(void) - updateMyUserInfo:completion:
 
(void) - searchUserWithOption:completion:
 
(void) - addDelegate:
 
(void) - removeDelegate:
 

详细描述

好友协议

函数文档

◆ addDelegate:

- (void) addDelegate: (id< NIMUserManagerDelegate >)  delegate

添加好友委托

参数
delegate好友委托

◆ addToBlackList:completion:

- (void) addToBlackList: (NSString *)  userId
completion: (NIMUserBlock completion 

添加用户到黑名单

参数
userId用户Id
completion完成回调

◆ deleteFriend:completion:

- (void) deleteFriend: (NSString *)  userId
completion: (nullable NIMUserBlock completion 

删除好友

参数
userId好友Id
completion完成回调 @discussion 不删除备注等信息

◆ deleteFriend:removeAlias:completion:

- (void) deleteFriend: (NSString *)  userId
removeAlias: (BOOL)  remove
completion: (nullable NIMUserBlock completion 

删除好友

参数
userId好友Id
remove是否同时删除备注
completion完成回调

◆ fetchUserInfos:completion:

- (void) fetchUserInfos: (NSArray< NSString * > *)  users
completion: (nullable NIMUserInfoBlock completion 

从云信服务器批量获取用户资料

参数
users用户id列表
completion用户信息回调

@discussion 需要将用户信息交给云信托管,此接口才有效。调用此接口,不会触发 - (void)onUserInfoChanged: 回调。 该接口会将获取到的用户信息缓存在本地,所以需要避免此接口的滥调,导致存储过多无用数据到本地而撑爆缓存:如在聊天室请求请求每个聊天室用户数据将造成缓存过大而影响程序性能 本接口一次最多支持 150 个用户信息获取

◆ isMyFriend:

- (BOOL) isMyFriend: (NSString *)  userId

判断是否是我的好友

参数
userId用户Id
返回
是否是我的好友 (云信关系)

◆ isUserInBlackList:

- (BOOL) isUserInBlackList: (NSString *)  userId

判断用户是否已被拉黑

参数
userId用户Id
返回
是否已被拉黑

◆ myBlackList

- (nullable NSArray< NIMUser * > *) myBlackList

返回所有在黑名单中的用户列表

返回
黑名单成员NIMUser列表

◆ myFriends

- (nullable NSArray< NIMUser * > *) myFriends

返回我的好友列表

返回
NIMUser列表

◆ myMuteUserList

- (nullable NSArray< NIMUser * > *) myMuteUserList

静音列表

返回
返回被我设置为取消消息通知的NIMUser列表

◆ notifyForNewMsg:

- (BOOL) notifyForNewMsg: (NSString *)  userId

是否需要消息通知

参数
userId用户Id
返回
是否需要消息通知

◆ removeDelegate:

- (void) removeDelegate: (id< NIMUserManagerDelegate >)  delegate

移除好友委托

参数
delegate好友委托

◆ removeFromBlackBlackList:completion:

- (void) removeFromBlackBlackList: (NSString *)  userId
completion: (NIMUserBlock completion 

将用户从黑名单移除

参数
userId用户Id
completion完成回调

◆ requestFriend:completion:

- (void) requestFriend: (NIMUserRequest *)  request
completion: (nullable NIMUserBlock completion 

添加好友

参数
request添加好友请求
completion完成回调

◆ searchUserWithOption:completion:

- (void) searchUserWithOption: (NIMUserSearchOption *)  option
completion: (nullable NIMUserInfoBlock completion 

查找成员

参数
option查询条件
completion完成回调

◆ updateMyUserInfo:completion:

- (void) updateMyUserInfo: (NSDictionary< NSNumber *, id > *)  values
completion: (nullable NIMUserBlock completion 

修改自己的用户资料

参数
values需要更新的用户信息键值对
completion修改结果回调

@discussion 这个接口可以一次性修改多个属性,如昵称,头像等,传入的数据键值对是 {@(NIMUserInfoUpdateTag) : NSString/NSNumber}, 无效数据将被过滤。一些字段有修改限制,具体请参看 NIMUserInfoUpdateTag 的相关说明

◆ updateNotifyState:forUser:completion:

- (void) updateNotifyState: (BOOL)  notify
forUser: (NSString *)  userId
completion: (nullable NIMUserBlock completion 

设置消息提醒

参数
notify是否提醒
userId用户Id
completion完成回调

◆ updateUser:completion:

- (void) updateUser: (NIMUser *)  user
completion: (nullable NIMUserBlock completion 

修改自己与目标用户的关系

参数
user目标用户
completion修改结果回调 @discussion 这个接口提供了备注名的修改以及一些扩展。这些值是基于当前用户和目标用户关系的, 同一个目标用户的的属性字段会随着登录用户的改变而改变。

◆ userInfo:

- (nullable NIMUser *) userInfo: (NSString *)  userId

从本地获取用户资料

参数
userId用户id
返回
NIMUser

@discussion 需要将用户信息交给云信托管,且数据已经正常缓存到本地,此接口才有效。 用户资料除自己之外,不保证其他用户资料实时更新 其他用户资料更新的时机为: 1.调用 - (void)fetchUserInfos:completion: 方法刷新用户 2.收到此用户发来消息 3.程序再次启动,此时会同步部分好友信息


该协议的文档由以下文件生成: