浏览 SDKs · iOS
平台
SDKsiOS

群成员查询概览

查询 iOS 群成员并处理成员 delegate。

复制

群成员模块负责维护群内用户关系、群角色(群主、管理员、普通成员)、群内专属昵称与禁言状态。在客户端状态管理中,统一使用 groupID:userID 作为群成员记录的唯一合并标识。

查询能力

SDK 提供了多种维度的群成员查询接口:

群成员事件监听

群成员发生新增、被移出或资料变更时,SDK 会通过 OIMGroupListener 协议回调通知:

- (void)startMemberEvents {
    [[OIMManager callbacker] addGroupListener:self];
}

- (void)stopMemberEvents {
    [[OIMManager callbacker] removeGroupListener:self];
}

- (void)onGroupMemberAdded:(OIMGroupMemberInfo *)item {
    // 新成员加入,按 groupID:userID 合并入本地列表
    [self upsertMember:item];
}

- (void)onGroupMemberDeleted:(OIMGroupMemberInfo *)item {
    // 成员离开或被踢出,按 groupID:userID 从本地列表中移除
    [self removeMember:item];
}

- (void)onGroupMemberInfoChanged:(OIMGroupMemberInfo *)item {
    // 成员角色、群内昵称或禁言变更,按 groupID:userID 覆盖更新
    [self upsertMember:item];
}

应用应强引用稳定的监听器对象,并使用同一实例进行添加与移除。如果在分页加载群成员期间收到了成员增删事件,建议将分页偏移重置为 0 并重新拉取当前列表,以防列表产生跳页或错位。