5

iPhoneのコアデータでは、データをに保存しようとすると、あらゆる種類のエラーが発生していましたNSManagedObjectContext

私の問題はすべてNSManagedObjectContext、複数のスレッドで使用されていたを使用することと関係があると思います。

だから私は新しいものを作成してそれを試してみたかったNSManagedObjectContextのですが、単に新しいインスタンスを作成するためのサンプルコードが見つかりません...

私はその単純さを知っていますが、ここで助けていただければ幸いです。

注:私はAppleのドキュメントでこの記事を見ました:http://developer.apple.com/iphone/library/documentation/cocoa/conceptual/CoreDataUtilityTutorial/Articles/05_createStack.html

しかし、これは、iPhoneでサポートされていないXMLStoreなど、私がよく知らないコードを使用しています。

4

1 に答える 1

14

これは、新しいコンテキストを作成するコードです。

- (NSManagedObjectContext *)managedObjectContext {
    NSManagedObjectContext *managedObjectContext = nil;

    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinator];
    if (coordinator != nil) {
        managedObjectContext = [[NSManagedObjectContext alloc] init];
        [managedObjectContext setPersistentStoreCoordinator:coordinator];
        [managedObjectContext setUndoManager:nil];
    }
    return [managedObjectContext autorelease];
}

コンテキストの新しいインスタンスを作成し、使用するストアを設定するだけです。

複数の店舗がある場合は、次のようになります。

- (NSManagedObjectContext *)managedObjectContextForStore:(NSString *)store {
    NSManagedObjectContext *managedObjectContext = nil;

    NSPersistentStoreCoordinator *coordinator = [self persistentStoreCoordinatorForStore:store];
    if (coordinator != nil) {
        managedObjectContext = [[NSManagedObjectContext alloc] init];
        [managedObjectContext setPersistentStoreCoordinator:coordinator];
        [managedObjectContext setUndoManager:nil];
    }
    return [managedObjectContext autorelease];
}

詳細については、Apple の Core Data Tutorial for iOSをご覧ください。

乾杯!

于 2010-08-30T00:00:20.590 に答える