我正在尝试在运行6.0.1的iPhone 4s上使用iOS6 SDK通过特定的用户ID过滤自定义对象。不幸的是,当执行下面的代码时,它将返回在自定义对象模式中创建的所有记录。

    NSMutableDictionary *getRequest = [NSMutableDictionary dictionary];
    [getRequest setObject:@"222222" forKey:@"user_id"];
    [QBCustomObjects objectsWithClassName:@"appointments" extendedRequest:getRequest delegate:self];

(我省略了身份验证代码。我能够进行身份验证并创建记录就好了)对于密钥,我尝试了可以​​想到的userID的每个排列。包括查看查询请求的响应以及如何在jSON feed中引用该字段。几乎就像extendedRequest没有考虑我在其中输入的任何值一样,但是当查看控制台日志时,我清楚地看到了它们被传递了。

最佳答案

这很奇怪,因为我用

NSMutableDictionary *getRequest = [NSMutableDictionary dictionary];
[getRequest setObject:[NSNumber numberWithInt:291] forKey:@"user_id"];

[QBCustomObjects objectsWithClassName:@"SuperSample" extendedRequest:getRequest delegate:self];

如果我们看一下控制台,我们将看到:
GET http://api.quickblox.com/data/SuperSample.xml
headers:{
    "QB-SDK" = "iOS 1.3.1";
    "Qb-Token" = 00fbd4c38b4156975e63882ad660e9a724ae7a3d;
    "QuickBlox-REST-API-Version" = "0.1.1";
}
parameters:{
    "user_id" = 291;
}

并且此代码段仅向我返回 user_id 291的记录(在此示例中,这是一条记录):
<?xml version="1.0" encoding="UTF-8"?>
<data type="array">
  <SuperSample>
    <_id>50bb4c1c535c12306b007ea4</_id>
    <_parent_id nil="true"></_parent_id>
    <born_age nil="true"></born_age>
    <created-at type="integer">1354451996</created-at>
    <my_field nil="true"></my_field>
    <rating nil="true"></rating>
    <sex_ nil="true"></sex_>
    <text nil="true"></text>
    <updated-at type="integer">1354451996</updated-at>
    <user-id type="integer">291</user-id>
    <vote nil="true"></vote>
  </SuperSample>
</data>

关于ios - iOS QuickBlox SDK通过用户ID过滤自定义对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13665026/

10-10 23:46