2

私のアプリはCoreData、という名前のモデルで : を使用していますmupo-ios.xcdatamodel。このモデルは、元の Model : Model.xcdatamodeld の 2 番目のバージョンです。managedObjectContextドキュメントを介して使用していました:

        NSURL *url = [[[NSFileManager defaultManager] URLsForDirectory:NSLibraryDirectory inDomains:NSUserDomainMask] lastObject];
        url = [url URLByAppendingPathComponent:@"MyDocument"];

        self.document = [[UIManagedDocument alloc] initWithFileURL:url];

        // Set our document up for automatic migrations
        NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                                 [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                                 [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];            
        self.document.persistentStoreOptions = options;
    }

その後、次の場所にアクセスしますmanagedObjectContext

    self.managedObjectContext = self.document.managedObjectContext;

ここで、メイン コンテキストに直接アクセスしたいと思います。コードは次のとおりです。

- (NSManagedObjectContext *)mainContext {
    if (!_mainContext) {
        _mainContext = [[NSManagedObjectContext alloc] initWithConcurrencyType:NSMainQueueConcurrencyType];
        _mainContext.persistentStoreCoordinator = self.persistentStoreCoordinator;
    }
    return _mainContext;
}

問題は、次を指定しようとしたときですmanagedObjectModel

- (NSManagedObjectModel *)managedObjectModel {
    if (!_managedObjectModel) {
NSString *localModelPath = [[NSBundle mainBundle] pathForResource:@"mupo-ios" ofType:@"momd"];
        NSURL *modelUrl = [NSURL fileURLWithPath:localModelPath];    
        _managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelUrl];
    }
    return _managedObjectModel;
}

momd のファイルが見つからないため、managedObjectModel初期化できません。誰でも私を助けることができますか?

4

3 に答える 3

1

この行で:

NSString *localModelPath = [[NSBundle mainBundle] pathForResource:@"mupo-ios" ofType:@"momd"];

momdに変更mom

于 2013-06-30T19:43:27.313 に答える