0

ゲームと呼ばれるエンティティとチームと呼ばれるエンティティの 2 つがあります。ゲーム エンティティには、チームと呼ばれるチームとの対 1 関係があり、チーム エンティティには、ゲームと呼ばれるゲームとの対多関係があります。(チームは多くのゲームに参加できますが、ゲームには 1 つのチームしか参加できません。対戦相手には別のエンティティを使用しています)

ID を使用してチームを選択しています。Games エンティティにチームを追加するためのコードは次のとおりです。

Games *newGame = (Games *) [NSEntityDescription insertNewObjectForEntityForName:@"Games" inManagedObjectContext:self.managedObjectContext];

    NSFetchRequest *fetchTeams = [[NSFetchRequest alloc] init];
    NSEntityDescription *fetchedTeam = [NSEntityDescription entityForName:@"Teams"
                                                   inManagedObjectContext:self.managedObjectContext];
    [fetchTeams setEntity:fetchedTeam];
    NSArray *fetchedTeams = [self.managedObjectContext executeFetchRequest:fetchTeams error:&error];

    for (Teams *myTeam in fetchedTeams) {

        if (myTeam.teamID == teamid){

            newGame.teams = myTeam;

        }
    }

私が得ているエラーは次のとおりです:「NSInvalidArgumentException」、理由:「ALL または ANY 演算子の左側は、NSArray または NSSet でなければなりません。

わかりません。 newGame.teams は Teams のオブジェクトであり、NSSet ではありません。Teams.games を実行していた場合、それは NSSet になります。

私は何を間違っていますか?

4

1 に答える 1