Core Data是否会在保存时自动关联多对多关系

时间:2014-04-24 07:17:47

标签: ios objective-c sqlite core-data

我在Sqlite中有2个数据库表并使用Core Data / NSManagedObjects:

Users
user_id
name
belongsToGroups (many groups)

Groups
group_id
title
groupMembers (many users)

通过使用核心数据来保存组并添加用户(并将他添加到组中),如下所示:

Groups *coreData = nil;

coreData = [NSEntityDescription insertNewObjectForEntityForName:@"Groups" inManagedObjectContext:context];
request = [NSFetchRequest fetchRequestWithEntityName:@"Users"];
request.predicate = [NSPredicate predicateWithFormat:@"user_id = %@", user_id];

results = [context executeFetchRequest:request error:&error];


coreData.group_id = group_id
coreData.title = title
[coreData addGroupMembersObject:[results lastObject]];

说核心数据管理用户到许多具有上述代码的用户的组和组是否正确?

1 个答案:

答案 0 :(得分:3)

是的,如果关系设置为彼此的反向关系。 修改一个关系会自动更新反向关系。

备注:我会打电话给实体"用户"和" Group&#34 ;,因为每个对象都是 entity表示单个用户或组。我也愿意(但这可能是个问题 品味)称关系只是"团体"和"用户"。

相关问题