iPhone4 Core Data如何插入带有节号的新对象?

时间:2011-11-20 19:39:37

标签: core-data ios5 nsfetchedresultscontroller iphone-4 nsindexpath

我正在尝试将新对象插入到我的核心数据结构中,让他们知道它们属于哪个部分。

这是我的插入方法,我需要在新记录中添加某个部分。

-(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 个答案:

答案 0 :(得分:1)

只需使用提供的方法objectAtIndexPath

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

这与将对象插入托管对象上下文的方式无关。相反,您必须使用sectionNameKeyPath的{​​{1}}参数指定您的部分。