2
Navigation Hierarchy에는 2 레벨의 UITableViews
이 있습니다. 첫 번째 페이지에는 의 모든 인스턴스를 표시하는 UITableView
이 있습니다. NSFetchedResultsController
은 효과가 있습니다. 두 번째 페이지에서 Equipment
의 특정 부분에 대한 모든 Note
엔티티를 가져와 tableView
에 표시 할 수 있습니다.NSPredicate를 작성하는 방법 CoreData to-many 관계
NSPredicate
을 작성하여 관련 메모 만 기록하려면 어떻게해야합니까?
- (NSFetchedResultsController *)fetchedResultsController {
if (_fetchedResultsController != nil) {
return _fetchedResultsController;
}
//Init Fetch Request
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
//Entity the NSFetchedResultsController will be managing
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Note"
inManagedObjectContext:self.myContext];
[fetchRequest setEntity:entity];
//Sort Descriptors
NSSortDescriptor *sortDescriptor1 = [[NSSortDescriptor alloc] initWithKey:@"noteTime"
ascending:YES];//Primary Sort
NSSortDescriptor *sortDescriptor2 = [[NSSortDescriptor alloc] initWithKey:@"noteText"
ascending:YES];//Secondary Sort
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor1,
sortDescriptor2,
nil];
//Set Sort Descriptors
[fetchRequest setSortDescriptors:sortDescriptors];
// limit Fetch to notes that belong to myEquipment
//self
// NSPredicate *predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"item.name like '%@'", self.item.name]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:PREDICATE GOES HERE];
[fetchRequest setPredicate:predicate];
[fetchRequest setFetchBatchSize:10];
NSFetchedResultsController *frc = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest
managedObjectContext:self.myContext
sectionNameKeyPath:nil
cacheName:@"Equipment"];
//Set the Delegate Property
frc.delegate = self;
_fetchedResultsController = frc;
//Release Local Memory
[sortDescriptor1 release];
[sortDescriptor2 release];
[sortDescriptors release];
[fetchRequest release];
return _fetchedResultsController;
}
같은 것을 할 필요가 있음을 볼 수? 쿼리는 (장비 == <장비 : 0x00000000> (엔티티 : 장비 ...) – ebi