iPhone4 Core Data, как вставить новый объект с номером раздела? - PullRequest
0 голосов
/ 20 ноября 2011

Я пытаюсь вставить новые объекты в основную структуру данных и дать им знать, к какому разделу они принадлежат.

Вот мой метод вставки, мне нужно добавить определенный раздел в новую запись.

-(void)insertNewReminderWithSequenceNumber:(int)sequenceNumber
{
    // Create a new instance of the entity managed by the fetched results controller.
    NSManagedObjectContext *context = [self.remindersController managedObjectContext];
    NSEntityDescription *entity = [[self.remindersController fetchRequest] entity];
    Reminder *newManagedObject = (Reminder*)[NSEntityDescription insertNewObjectForEntityForName:[entity name] inManagedObjectContext:context];
    newManagedObject.sequenceNumber = [NSNumber numberWithInt:sequenceNumber];

}

Вот мой метод извлечения, обратите внимание, что я установил раздел на ноль.

-(Reminder*)getReminderAtIndex:(int)index
{
    NSIndexPath* temp = [NSIndexPath indexPathForRow:index inSection:0];
    Reminder* reminder  = nil;
    @try {
       reminder= [self.remindersController objectAtIndexPath:temp];
    }
    @catch (NSException *exception) {
        NSLog(@"Exception accessing event at index: %i", index);
        return nil;
    }
    @finally {

    }

    return reminder;
}

Как я могу вставить объекты в базовые данные, чтобы можно было извлечь их по indexPath, содержащему как номер раздела, так и номер строки?

Спасибо!

1 Ответ

1 голос
/ 21 ноября 2011

Просто используйте предоставленный метод objectAtIndexPath:

Reminder *reminder = (Reminder *) [self.fetchedResultsController 
   objectAtIndexPath];

Это не имеет ничего общего с тем, как вы вставляете объект в контекст управляемого объекта. Скорее вам придется указывать свои разделы с параметром sectionNameKeyPath вашего NSFetchedResultsController.

...