Tôi đang sử dụng NSFetchedResultsController
để chuyển dữ liệu cho số UITableViewController
của mình. Một phiên bản đơn giản của đối tượng quản lý Tôi lấy ngoại hình như thế này (cũng ví dụ):Tạo các mục bảng với NSFetchedResultsController
Person:
-(BOOL)hasPet;
-(BOOL)hasDog;
Về cơ bản, tôi muốn bàn của tôi để chỉ hiển thị những Person
đối tượng người có một con vật cưng. Vì vậy, đó là đơn giản, tôi có thể sử dụng một vị từ. Bây giờ, đối với những người hasPet == YES
, tôi muốn đặt chúng trong bảng ở 2 phần, phần đầu tiên hasDog == YES
và thứ hai là hasDog == NO
. Đây là nơi tôi hơi mờ. Đây là nơi tôi cấu hình bộ điều khiển kết quả của tôi, hy vọng ai đó có thể giúp chỉ đạo tôi đi đúng hướng.
- (NSFetchedResultsController *)fetchedResultsController {
if (nil != fetchedResultsController) {
return fetchedResultsController;
}
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Homework" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"hasPet == %@", [NSNumber numberWithBool:YES]];
[fetchRequest setPredicate:predicate];
NSSortDescriptor *dogDescriptor = [[NSSortDescriptor alloc] initWithKey:@"hasDog" ascending:YES];
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"name" ascending:YES];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:dogDescriptor, sortDescriptor, nil];
[fetchRequest setSortDescriptors:sortDescriptors];
NSFetchedResultsController *aController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:nil cacheName:nil];
aController.delegate = self;
self.fetchedResultsController = aController;
// Release things
return fetchedResultsController;
}
Trình mô tả sắp xếp nơi tôi cần tập trung sự chú ý của mình?