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

发布于 2024-12-17 11:37:34 字数 1192 浏览 6 评论 0原文

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

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

-(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;
}

如何将对象插入到核心数据中,以便能够通过包含节号和行号的索引路径检索它们?

谢谢!

I'm trying to insert new objects into my core data structure and have them know which section they belong to.

Here's my insert method, I need to add a certain section to the new record.

-(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];

}

Here's my retrieve method, note that I set the section to zero.

-(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;
}

How can I insert objects into core data to be able to retrieve them by indexPath containing both section number and row number?

Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

—━☆沉默づ 2024-12-24 11:37:34

只需使用提供的方法objectAtIndexPath

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

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

Simply use the provided method objectAtIndexPath:

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

This has nothing to do with how you insert the object into the managed object context. Rather, you will have to specify your sections with the sectionNameKeyPath parameter of your NSFetchedResultsController.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文