解析查询不返回具有nil指针的对象?

时间:2014-07-11 19:30:11

标签: ios parse-platform

我正在查询PFObject A. PFObject A可以有一个指向PFObject B的指针。

我想获得“A”对象,但我不想让那些没有指向B的对象。

我该怎么做?

编辑: 为了更好地澄清我的问题,我正在编辑它:

PFObject A有一个指向B的指针。

在查询中我查询A对象,但我希望查询返回任何没有有效指针指向B的A对象。

所以,“如果找不到A中的B指针,则不返回A”......

2 个答案:

答案 0 :(得分:0)

如果您存储了PFObjectB的objectId,那么可能是这样的:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"objectBID <> %@", nil];
PFQuery *query = [PFQuery queryWithClassName:@"MyObjectClassName" predicate:predicate];
[query findObjectsInBackgroundWithBlock:^(NSArray *objects, NSError *error) {
    for (PFObject *anObject in objects)
    {
        NSLog(@"getNoneNilObjects error: %@ objects: %@", error, anObject);
    }
}];

答案 1 :(得分:0)

我认为您正在寻找whereKeyExistswhereKeyDoesNotExist等查询修饰符。

如果您担心密钥确实存在(指向B的指针)但是B实际上已被删除,那么您可以使用whereKeyExists然后只使用objectId运行B的查询。循环访问A对象并将其ID放入新数组中。然后执行以下操作:[bQuery whereKey:@"objectId" containedIn:objectIdArray];。无论B对象返回什么,都会确认带有指针的A对象指向有效的B对象。