我正在开发一个社交应用程序。对于当前用户,我需要随机显示该应用的其他用户。
我首先想使用此代码来获取用户数:
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];
只需从 1 和 13中[self randomAmong: 13]
选择一个数字,然后抓取用户的头像并将其展示给当前用户。
三个问题:
虽然我可以在控制台输出的 XML 中看到数字 13,但我不知道如何获取该数字。
我只想轮换通过我的移动应用程序用户,而不是我的开发者帐户(帐户用户)。QuickBlox 允许与一个 QuickBlox 帐户用户关联的多个应用程序;但是,所有用户似乎都混为一谈。尽管我可以确保我在此帐户中只有一个应用程序,但我仍然需要能够将自己排除在其中。
这是一个相对次要的问题。尽管上述获取当前用户数的尝试不是尝试登录,但委托方法
-(void)completedWithResult:(Result*)result
的结果为QBUUserLogInResult
. 我不明白为什么会这样,为什么不是QBUUserPagedResult
或者QBUUserResult
似乎更有意义?
谢谢。