【问题标题】:iPhone4 Core Data how to insert a new object with section number?iPhone4 Core Data如何插入带有节号的新对象?
【发布时间】:2011-11-20 19:39:37
【问题描述】:

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

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

-(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 检索它们?

谢谢!

【问题讨论】:

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


    【解决方案1】:

    只需使用提供的方法objectAtIndexPath

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

    这与您如何将对象插入托管对象上下文无关。相反,您必须使用NSFetchedResultsControllersectionNameKeyPath 参数指定您的部分。

    【讨论】:

      猜你喜欢
      • 2016-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-21
      • 1970-01-01
      • 1970-01-01
      • 2015-04-16
      • 1970-01-01
      相关资源
      最近更新 更多