2013-05-27 81 views
0

我是coredata的新手,這是我第一次使用,所以請耐心等待,因爲我正在實施。 我有2個名爲userinfo和usergroups的Entites,它們都在一對多關係中相關,現在usergroups(關係名)字段將在userinfo中創建。用戶信息與用戶聯繫也有很多關係在coredata中獲取關係對象

用戶信息包含dateofbirth; email; firstname; lastname; password; salutation; userinfoId; username(user contact number); zipcode; usergroups; usercontacts;用戶聯繫人包含聯繫人描述;姓名;電話(用戶的聯合列表); usercontacts_id;用戶信息;

Usergroups containsgroupname; mobile_contacts; mobile_number; 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); 
}]; 

任何形式的建議或幫助,會讓我感動我的工作 由於提前

回答

0

它應該是爲遍歷關係那樣簡單:

for (Userconatcts *contact in unit.mobile_contacts) { 
    NSString *name = contact.name; 
} 
+0

運行提取請求時,默認情況下,StackMob默認不包含相關對象。如果有人想出解決這個問題的方法,我很感興趣 – NSTJ