【问题标题】:PFQuery Matches Query not Working Parse.comPFQuery 匹配查询不工作 Parse.com
【发布时间】:2013-10-21 11:59:26
【问题描述】:

大家好,我正在尝试将两个查询与 MatchesQuery 合并,但 TableView 上的数据不会显示并给我这个错误

错误:$ inquery 的类型错误

有谁知道这个查询的错误是什么?谢谢大家

- (void) retrieveFromParse {

    PFQuery *Amici = [PFQuery queryWithClassName:@"Amicizie"];
    [Amici whereKey:@"RICHIESTA_IN_ATTESA" equalTo:@"YES"];

    PFQuery *retrievePets = [PFQuery queryWithClassName:FF_USER_CLASS];
    [retrievePets whereKey:FF_USER_NOMECOGNOME matchesQuery:Amici];
    [retrievePets orderByAscending:FF_USER_NOMECOGNOME];


    [retrievePets findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
            NSLog(@"%@", objects);
            allObjects = [[NSMutableArray alloc] init];
            for (PFObject *object in objects) {
                [allObjects addObject:object];
            }
        }
        [self.FFTableViewFindUser reloadData];
    }];
}

【问题讨论】:

  • 您能否将架构添加到您的问题中,特别是对于FF_USER_CLASSFF_USER_NOMECOGNOME 的列类型是什么? Amicizie.RICHIESTA_IN_ATTESA 的类型也是字符串还是布尔值?您正在执行字符串匹配查询,但看起来您可能打算使用布尔值。
  • 我所说的布尔值是当用户单击 TableView 中的按钮时调用的值,它的函数将把它添加到 Boolean Friends 类中......它只有一个保存好友请求的功能。 (布尔类是 _USER 但在另一个类 Parse.com "Friends" 中)。
  • 如果用户点击了按钮然后发送了请求我想使用布尔值来清除用户之前点击过的按钮......这就是我想要创建的功能,因为我正在尝试按照您很久以前对友谊的要求提出的建议:)
  • RICHIESTA_IN_ATTESA 是一个布尔值 ..:D

标签: ios tableview parse-platform


【解决方案1】:

鉴于您查询的是布尔值,您应该查看this question

基本上你需要这样做:

[Amici whereKey:@"RICHIESTA_IN_ATTESA" equalTo:[NSNumber numberWithBool:YES]];

这可能就是您所需要的。如果不是,它会给您另一个错误消息,以帮助您找到问题的根源。

【讨论】:

    【解决方案2】:

    您可以添加一个保存字符串值的“amiciString”列。然后你可以这样做:

    [retrievePets whereKey:@"FF_USER_NOMECOGNOME" matchesKey:@"amiciString" inQuery:Amici];
    

    试试吧!我希望它有效!

    【讨论】:

    • 我做了查询,但我的表完全是白色的...... : (
    • 初始化数组allObjects = [NSMutableArray array];
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 2018-04-10
    • 1970-01-01
    相关资源
    最近更新 更多