В вашем первом делегате таблицы, когда вы дотронетесь до определенной ячейки, я добавлю определенное родительское свойство второму контроллеру таблицы. Например:
SecondController secondController = ... // alloc-init
secondController.studentToGrab = ...
где SecondController
объявление имеет свойство studentToGrab
, подобное следующему:
@property (nonatomic, retain) Student* studentToGrab; // use strong with ARC, if non-ARC remember to release it
и по определению синтезируйте его.
Тогда в вашем втором контроллере, в методе viewDidLoad
, вы можете сделать:
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"YourNameEntityForDate" inManagedObjectContext:self.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setFetchBatchSize:20];
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"student == %@", studentToGrab];
[fetchRequest setPredicate:predicate];
// you can also use a sortdescriptors to order dates...
NSError *error = nil;
NSArray *resultArray = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
if (error != nil) {
NSLog(@"Error: %@", [error localizedDescription]);
abort();
}
// use resultArray to populate something...
Замечание при работе с таблицей вы также можете использовать NSFetchedResultController
класс. Он имеет преимущества при использовании для отображения данных в таблицах.