我有两个实体,一个叫做游戏,一个叫做团队。Games 实体与称为团队的团队具有一对一关系,而团队实体与称为游戏的游戏具有一对多关系。(一支球队可以参加很多场比赛,但一场比赛只能有一支球队。我为对手使用了一个单独的实体)
我正在使用它的 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。
我究竟做错了什么?