SDKsiOS
更新当前用户资料
使用 iOS SDK 更新当前登录用户资料。
建议先通过获取当前用户资料获取当前 OIMUserInfo,再仅修改昵称、头像或 ex 等目标字段;不要直接使用未初始化的空对象,以免意外覆盖其他属性。
参数说明
| 参数 | 类型 | 说明 |
|---|---|---|
userInfo | OIMUserInfo * | 包含待更新字段的用户信息对象。 |
current.nickname = nickname;
current.faceURL = avatarURL;
[[OIMManager manager] setSelfInfo:current
onSuccess:^(NSString *data) {
[profileStore refreshCurrentUserInfo:current];
}
onFailure:^(NSInteger code, NSString *message) {
NSLog(@"setSelfInfo failed: %ld %@", (long)code, message);
}];ex 属于完整的扩展字符串,需要按业务 JSON 结构合并后再提交。状态变更以当前用户 userID 为合并标识。
返回结果
成功回调 onSuccess 表示服务端已接受资料修改请求。当前端通常可立即更新界面展示,其他端或多端同步则通过用户监听回调处理。
监听资料更新
实现 OIMUserListener 协议的 onSelfInfoUpdated: 方法监听当前登录用户资料的变更事件:
@interface ProfileStore () <OIMUserListener>
@end
@implementation ProfileStore
- (void)startListening {
[[OIMManager callbacker] addUserListener:self];
}
- (void)stopListening {
[[OIMManager callbacker] removeUserListener:self];
}
- (void)onSelfInfoUpdated:(OIMUserInfo *)info {
[self updateLocalCurrentUser:info];
}
@end在退出登录或切换账号时,使用注册时的同一个 listener 实例调用移除监听方法。
这个页面有帮助吗?