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

}

これが私のretrieveメソッドです。セクションをゼロに設定していることに注意してください。

-(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でオブジェクトを取得できるように、コアデータにオブジェクトを挿入するにはどうすればよいですか?

ありがとうございました!

4

1 に答える 1

1

提供されている方法を使用するだけobjectAtIndexPathです。

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

これは、オブジェクトを管理対象オブジェクトコンテキストに挿入する方法とは関係ありません。むしろ、のsectionNameKeyPathパラメータを使用してセクションを指定する必要がありますNSFetchedResultsController

于 2011-11-21T16:50:05.357 に答える