2013-08-22 97 views
0

目前具有核心數據的工作,一對多核心數據關係的數據傳遞

下面是我的數據模型:

WorkoutType (One to Many workouts with WorkoutSet) 
WorkoutSet (One to Many days with WorkoutDay) 
WorkoutDay (One to Many exercises with WorkoutExercise 
WorkoutExercise 

所有4中的數據通過4個tableviews顯示。

即時通訊使用FetchedResultsController和所有工作正常。

我的下一個問題是,我正在從workoutExerciseTableViewController傳遞到另一個ViewController並漫遊如何將所有數據傳遞給此視圖控制器。比如我需要訪問workoutType,workoutSet和workoutDay數據,這些數據是通過選擇以達到workoutExercise數據。

下面是fetchedResultsController我WorkoutExerciseTableViewController:

-(void)fetchWorkoutExercises 
{ 
    NSFetchRequest *fetchRequest = [NSFetchRequest  fetchRequestWithEntityName:@"WorkoutExercise"]; 
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"workoutDay = %@",  self.workoutDay]; 
    NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"exerciseName" ascending:YES]; 
    [fetchRequest setSortDescriptors:@[sortDescriptor]]; 
    [fetchRequest setPredicate:predicate]; 
    self.fetchedResultsController = [[NSFetchedResultsController alloc] 
           initWithFetchRequest:fetchRequest managedObjectContext:self.managedObjectContext 
           sectionNameKeyPath:nil cacheName:nil]; 
    //self.fetchedResultsController.delegate = self; 
    NSError *error; 
    if (![self.fetchedResultsController performFetch:&error]) 
    { 
     NSLog(@"Fetch failed: %@", error); 
    } 

} 

感謝提前任何幫助:)

回答

0

你只需要選擇WorkoutExercise •exercise傳遞到下一個視圖控制器,因爲其他數據從那裏訪問

WorkoutDay *day = exercise.workoutDay; 
WorkoutSet *set = day.workoutSet; 
WorkoutType *type = set.workoutType; 

使用相反的關係。

+0

很多再次感謝馬丁。徘徊,如果你有任何想法如何我可以拆分我的實體之一的表視圖爲部分?我試過使用sectionNameKeyPath不幸。 – user2512523

+0

http://stackoverflow.com/questions/18361651/ios-uitableview-sections-with-fetchedresultscontroller- confusion – user2512523