Browse SDKs · iOS
Platform
SDKsiOS

Group member queries overview

Retrieve iOS group members and process member delegates.

Copy

The group member module maintains user associations within a group, including member roles (owner, administrator, regular member), group-specific nicknames, and individual muting configurations. In client state management, the composite identifier groupID:userID serves as the primary key for member deduplication and cache updates.

Member query operations

The iOS SDK provides several query interfaces across different dimensions:

Member event listeners

When members join, leave, are removed, or change their profiles, the SDK dispatches delegate callbacks defined in OIMGroupListener:

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

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

- (void)onGroupMemberAdded:(OIMGroupMemberInfo *)item {
    // New member joined; merge into the local list keyed by groupID:userID
    [self upsertMember:item];
}

- (void)onGroupMemberDeleted:(OIMGroupMemberInfo *)item {
    // Member left or was removed; delete from local cache keyed by groupID:userID
    [self removeMember:item];
}

- (void)onGroupMemberInfoChanged:(OIMGroupMemberInfo *)item {
    // Member role, group nickname, or mute status changed; update locally
    [self upsertMember:item];
}

Retain a stable listener object reference and pass the same instance when registering or removing listeners. If member change events arrive during paginated loading, reset offset to 0 and re-query the list to prevent index drift and display inconsistencies.