核心数据 - NSPredicate和to-many关系

时间:2012-02-16 23:32:14

标签: objective-c nspredicate one-to-many relationships

我在游戏和玩家之间有一对多的关系。游戏玩家与玩家之间存在关系。

游戏< - >>玩家

游戏实体有一种称为玩家的关系。 玩家的名称为“订单”

我无法使用谓词来查询关系。这是我正在使用的代码:

    -(NSArray *)returnPlayerLastAtBat: (int)rosterNo
    {
        NSError *error;

        NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
        NSEntityDescription *entity = [NSEntityDescription 
                                       entityForName:@"Games" inManagedObjectContext:managedObjectContext];
        NSPredicate *predicate = [NSPredicate predicateWithFormat:
                                  @"(finished = '%d') and (players.order = '%d')",0,rosterNo];
        [fetchRequest setEntity:entity];
        [fetchRequest setPredicate:predicate];

        NSArray* result = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
        [fetchRequest release];

return result;
}

不确定我做错了什么 - 我能够在整个项目中使用预测 - 但这个问题一直存在。

1 个答案:

答案 0 :(得分:0)

看看this SO question。正如mvds所提到的那样,删除%d周围的引号。