Получение объекта отношений в coredata
Я новичок в Coredata, это первый раз, когда я использую, поэтому, пожалуйста, несите меня, как я расширяю. У меня есть 2 Entites с именем userinfo и usergroups, и они оба связаны в отношении один ко многим, Теперь поле usergroups(Relationshipped name) будет создано в userinfo. И Userinfo также имеет много связей с Usercontacts
Userinfo содержит дату рождения, адрес электронной почты; имя; фамилия; пароль; приветствие; userinfoId; имя пользователя (контактный номер пользователя); почтовый индекс; Группы; usercontacts;
Usercontacts содержит описание контакта; имя; телефон (список пользователей); usercontacts_id; userinfo;
Группы пользователей содержат имя группы; mobile_contacts; номер мобильного телефона; usergroups_id; userinfo_group;
Я могу получить объект usergroups для определенного имени пользователя (которое уникально в сущности 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);
}];
Любые предложения или помощь заставят меня перенести мою работу Заранее спасибо
1 ответ
Это должно быть так же просто, как перебирать отношения:
for (Userconatcts *contact in unit.mobile_contacts) {
NSString *name = contact.name;
}