title: Use NSFetchedResultsController to get data in 3 tables
body: <p>I'm using CoreData for my app (I don't want to use "many to many" relationship)</p>
  
  <p><img src="https://i.stack.imgur.com/35xa5.png" alt="enter image description here"></p>
  
  <p>I use <code>NSFetchedResultsController</code> to get data. I want to get all tracks of a specific <code>Playlist</code> (I use <code>MagicalRecord</code> too but don't care it)</p>
  
  <pre><code>Playlist *playlist;//a specific playlist
  NSFetchRequest *request = [PlayTrack requestAllSortedBy:@"scdCreatedAt" ascending:NO withPredicate:[NSPredicate predicateWithFormat:@"playlist = %@",playlist]];
  _resultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:request
                                                           managedObjectContext:[NSManagedObjectContext contextForCurrentThread]
                                                          sectionNameKeyPath:nil
                                                            cacheName:NSStringFromClass(self.class)];
  //..... perfromFetch...
  </code></pre>
  
  <p>I implemented <code>NSFetchedResultsControllerDelegate</code>:</p>
  
  <pre><code>- (void)controller:(NSFetchedResultsController *)controller didChangeObject:(id)anObject atIndexPath:(NSIndexPath *)indexPath forChangeType:(NSFetchedResultsChangeType)type newIndexPath:(NSIndexPath *)newIndexPath {
      PlayTrack *playtrack = (PlayTrack *)anObject;
      SCDPlayTrack *track = playtrack.track;//This is what I want
  }
  </code></pre>
  
  <p>You see, I only can get <code>Track</code> objects by getting <code>PlayTrack</code> objects but I want <code>anObject</code> is a <code>Track</code> object.</p>
  
  <p>What I dream is getting all <code>Track</code> of a specific <code>Playlist</code> directly!</p>
  
  <p>HOW CAN I DO IT?</p>