我正在开发一款社交应用。对于当前用户,我需要随机显示该应用的其他用户。
我首先要使用此代码来获取用户数:
PagedRequest *request = [PagedRequest new];
request.perPage = 1;
request.page = 1;
[QBUsers usersWithPagedRequest:request delegate:self.proxy];
我注意到这是返回的XML:
<users type="array" current_page="1" per_page="1" total_entries="13">
<user>
<blob-id type="integer" nil="true"/>
<created-at type="datetime">2013-07-24T06:16:13Z</created-at>
<email>xxxxxx@xx.com</email>
<external-user-id type="integer" nil="true"/>
<facebook-id nil="true"/>
<full-name>XXX xxx</full-name>
<id type="integer">236286</id>
<last-request-at type="datetime">2013-11-15T06:27:09Z</last-request-at>
<login>t2wu</login>
<owner-id type="integer">4282</owner-id>
<phone nil="true"/>
<twitter-id nil="true"/>
<updated-at type="datetime">2013-11-15T06:27:09Z</updated-at>
<website nil="true"/>
<user-tags nil="true"/>
</user>
</users>
我的目的是从“total_entries = 13”获得13,所以我知道用户总数,然后再次提出这样的请求:
PagedRequest *request = [PagedRequest new];
request.perPage = 1;
request.page = [self randomAmong: 13];
[QBUsers usersWithPagedRequest:request delegate:self.proxy];
其中[self randomAmong: 13]
只从1和13中选择一个数字,然后抓取用户的个人资料图片并将其显示给当前用户。
三个问题:
虽然我可以在控制台中看到XML中的数字13 输出,我不知道如何获得这个数字。
我只想 通过我的移动应用程序用户轮换,而不是我的开发人员 帐户(帐户用户)。 QuickBlox允许多个应用程序 与一个QuickBlox帐户用户相关联;然而,所有用户似乎 被混为一谈虽然我可以确保我只有 这个帐户里面有一个应用程序,我仍然需要能够 将自己排除在外。
这是一个相对较小的问题。
虽然上面尝试获取当前用户数不是
尝试登录,委托方法
-(void)completedWithResult:(Result*)result
将结果作为一个类
QBUUserLogInResult
。我不明白为什么会这样,为什么不呢
QBUUserPagedResult
或QBUUserResult
似乎可以提供更多
感
感谢。
答案 0 :(得分:0)
这是一种正确的方法,以下是您的问题的答案:
1)
#pragma mark -
#pragma mark QBActionStatusDelegate
- (void)completedWithResult:(Result *)result{
// Get User result
if(result.success && [result isKindOfClass:[QBUUserPagedResult class]]){
QBUUserPagedResult *usersResult = (QBUUserPagedResult *)result;
int totalEntries = usersResult.totalEntries;
}
}
2)
您可以使用标记来分隔用户。用户注册时 - 只需向该用户添加标签,例如“app1”。
下一步 - 检索标记为“app1”的用户 - 使用下一个查询:
[QBUsers usersWithTags:[NSArray arrayWithObjects:@"app1", nil] delegate:self];
3)
用户登录查询将返回'QBUUserLogInResult'结果
获取单个用户查询将返回'QBUUserResult'结果
获取多个用户查询将返回'QBUUserPagedResult'结果