Пример CoreDataBooks - изменить порядок ячеек? - PullRequest
0 голосов
/ 15 декабря 2011

Я использую пример кода CoreDataBooks в своем проекте и прекрасно его реализовал. Я пытаюсь добавить возможность изменить порядок ячеек в UITableView, однако я действительно изо всех сил.

Я рассмотрел несколько методов, следующие из них кажутся наиболее логичными и понятными:

Переупорядочение основных данных UITableView

Однако, я не могу заставить его работать, наиболее подозрительным является то, что он включает дескриптор сортировки, который может конфликтовать с дескриптором сортировки, реализованным в примере CoreDataBooks, возможно?

Я не могу точно определить проблему.

Надеюсь, кто-нибудь может помочь, спасибо.

EDIT:

- (NSFetchedResultsController *)fetchedResultsController {

    if (fetchedResultsController != nil) {
        return fetchedResultsController;
    }

    // Create and configure a fetch request with the Book entity.
    NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"GuestInfo" inManagedObjectContext:managedObjectContext];
    [fetchRequest setEntity:entity];

    // Create the sort descriptors array.
    NSSortDescriptor *descriptor = [[NSSortDescriptor alloc] initWithKey:@"displayOrder" ascending:YES];
    NSArray *sortDescriptors = [[NSArray alloc] descriptor, nil];
    [fetchRequest setSortDescriptors:sortDescriptors];

    // Create and initialize the fetch results controller.
    NSFetchedResultsController *aFetchedResultsController = [[NSFetchedResultsController alloc] initWithFetchRequest:fetchRequest managedObjectContext:managedObjectContext sectionNameKeyPath:@"firstName" cacheName:@"Root"];

    self.fetchedResultsController = aFetchedResultsController;
    fetchedResultsController.delegate = self;

    return fetchedResultsController;
}  

- (void)viewWillAppear {
    myTableViewData = [self getRowObjects];

    [self.tableView reloadData];
}

По моему мнению, это происходит так:

NSError *error;
    if (![[self fetchedResultsController] performFetch:&error]) {
        // Update to handle the error appropriately.
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        exit(-1);  // Fail
    }

Это вызывает fetchedResultsController или выдает ошибку, если она не существует? Я не вижу, что еще может вызвать проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...