这是一个有趣的:

我有一个UIPickerView,其中包含值“ 10 km”,“ 25 km”,“ 50 km”和“ 100 km”。选择的值将是[queryLocation ... inKilometers:value here]的值;也一样。
由于“ withinKilometers”的值需要为双精度值,因此我有以下代码将X km转换为仅X作为双精度值:

    if ([self.selectedData isEqualToString:@"10 km"]) {
    self.selectedDataConverted = @"10";
    self.stringToDouble = [self.selectedDataConverted doubleValue];
    NSLog(@"Double Value: %f", self.stringToDouble);
}
... and so on...


这是查询的代码:

PFQuery *queryLocation = [PFUser query];
[queryLocation whereKey:@"location" nearGeoPoint:self.userLocation withinKilometers:self.stringToDouble];

if (!error) {
            NSLog(@"Great Success");
            //Do the stuff here
        }
        else {
            NSLog(@"Error");
        }
    }];


现在,当我运行此命令时,出现错误[Error]: geo query within or is not supported (Code: 102, Version: 1.7.4)。我很困惑,不确定如何解决此问题。在网上找不到与我的问题类似的东西。

编辑:我开始认为也许是因为我已经将2个查询连接到1:

    PFQuery *finalQuery = [PFQuery orQueryWithSubqueries:@[queryMale, queryLocation]];
    [finalQuery findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
        if (!error) {
            NSLog(@"Great Success");
        }
        else {
            NSLog(@"Error");
        }
    }];


这是为了在同一时间找到性别为“男性”的帐户。

最佳答案

你是对的。错误geo query within or is not supported表示您不能将此查询与orQueryWithSubqueries一起使用。您将需要将它们作为2个独立的查询运行,然后自己组合结果集。

关于ios - 不支持解析GeoQuery'withinKilometres',我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31154466/

10-13 03:27