浏览 SDKs · iOS
平台
SDKsiOS含商业版能力

获取收到的好友申请

分页查询 iOS 当前用户收到的好友申请。

复制

分页查询当前登录用户收到的好友申请列表:

参数说明

参数类型说明
reqGetFriendApplicationListAsRecipientReq *查询收到的好友申请请求对象。
字段类型说明
handleResultsNSArray<NSNumber *> *申请处理状态筛选列表,传 @[@(OIMApplicationStatusNormal)] 查询待处理申请。
offsetNSInteger分页起始偏移量,首屏传 0。
countNSInteger每页拉取的数据条数。
GetFriendApplicationListAsRecipientReq *req = [GetFriendApplicationListAsRecipientReq new];
req.handleResults = @[@(OIMApplicationStatusNormal)];
req.offset = 0;
req.count = 20;

[[OIMManager manager] getFriendApplicationListAsRecipientWithReq:req
                                                       onSuccess:^(NSArray<OIMFriendApplication *> *items) {
                                                           [requestStore replaceReceived:items];
                                                       }
                                                       onFailure:^(NSInteger code, NSString *message) {
                                                           NSLog(@"getFriendApplicationListAsRecipient failed: %ld %@", (long)code, message);
                                                       }];

状态以 fromUserID 或 fromUserID:toUserID 为合并标识。

返回结果

成功回调 onSuccess 返回当前分页的 NSArray<OIMFriendApplication *> * 数组。查询仅拉取当前快照,不触发申请事件。

监听好友申请变化

在实现 OIMFriendshipListener 协议的类中监听好友申请的增量事件:

- (void)onFriendApplicationAdded:(OIMFriendApplication *)item {
    [requestStore upsertApplication:item];
}

- (void)onFriendApplicationAccepted:(OIMFriendApplication *)item {
    [requestStore upsertApplication:item];
}

- (void)onFriendApplicationRejected:(OIMFriendApplication *)item {
    [requestStore upsertApplication:item];
}

- (void)onFriendApplicationDeleted:(OIMFriendApplication *)item {
    [requestStore removeFromUserID:item.fromUserID toUserID:item.toUserID];
}

这些方法实现于应用唯一、稳定的 OIMFriendshipListener 实例;注册与移除生命周期见分页获取好友列表。按当前用户是否为 toUserID,将记录分流到收到或发出的列表。成功 callback、申请 delegate、好友关系 delegate 和重新查询是不同阶段。