0

我是 coredata 的新手,这是我第一次使用,所以请耐心等待我解释。我有 2 个名为 userinfo 和 usergroups 的实体,它们都以一对多的关系相关,现在将在 userinfo 中创建 usergroups(relationshipped name) 字段。Userinfo 也与 Usercontacts 有很多关系

用户信息包含出生日期;电子邮件;名字;姓氏;密码;称呼;用户信息 ID;用户名(用户联系电话);邮政编码;用户组;用户联系人;

Usercontacts 包含联系人描述;姓名;电话(用户联系人列表);usercontacts_id;用户信息;

用户组包含组名;mobile_contacts;mobile_number;usergroups_id;userinfo_group;

我能够获取特定用户名的用户组对象(在 userinfo 实体中是唯一的),对于特定的 mobile_contacts(在 usergoups 实体中),我可以从 Userconatcts 实体获取相关名称。

我正在尝试这样

   NSString *usermobileNumber = [[NSUserDefaults standardUserDefaults] valueForKey:@"UserNumber"];
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Userinfo" inManagedObjectContext:context];
    [fetchRequest setEntity:entity];
    NSPredicate *datapredicate = [NSPredicate predicateWithFormat:@"username == %@",usermobileNumber];
    [fetchRequest setPredicate:datapredicate];

[context executeFetchRequest:fetchRequest onSuccess:^(NSArray *results){
    NSLog(@"results %@",[[results valueForKey:@"usergroups"] objectAtIndex:0]);

    for (NSString *order in results) {
        for (Usergroups *unit in [order usergroups]) {
            NSLog(@"%@", unit);
        }
    }
    [fetchRequest release];
}onFailure:^(NSError *error){
    NSLog(@"error %@",error);
}];

任何形式的建议或帮助都会让我移动我的工作在此先感谢

4

1 回答 1

0

它应该像迭代关系一样简单:

for (Userconatcts *contact in unit.mobile_contacts) {
    NSString *name = contact.name;
}
于 2013-05-27T06:43:19.647 回答