1

私は "Magical Record" を初めて使用し、iOS プログラミング全般にかなり慣れていません。私は物事を設定しようとしているだけです。http://yannickloriot.com/2012/03/magicalrecord-how-to-make-programming-with-core-data-pleasant/の指示に従いましたが、代わりに:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [MagicalRecordHelpers setupCoreDataStackWithStoreNamed:@"MyDatabase.sqlite"];
    // ...
    return YES;
}

AppDelegate を次のように変更する新しいバージョンを使用していると思います。

@implementation LSAppDelegate
@synthesize window = _window;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{
    [MagicalRecord setupCoreDataStackWithStoreNamed:@"MyDatabase.sqlite"];
    return YES;
}

- (void)applicationWillTerminate:(UIApplication *)application{
    [MagicalRecord cleanUp];
}
@end

実行すると、次の場所に SIGABRT が表示されます。

+ (NSManagedObjectModel *) MR_mergedObjectModelFromMainBundle;
{
    return [self mergedModelFromBundles:nil];
}

スタック トレースは次のようになります。

#0  0x00011f7e in +[NSManagedObjectModel(MagicalRecord) MR_mergedObjectModelFromMainBundle] at /Developer/projects/demo/MagicalRecord/Categories/NSManagedObjectModel+MagicalRecord.m:33
#1  0x00011eb4 in +[NSManagedObjectModel(MagicalRecord) MR_defaultManagedObjectModel] ()
#2  0x000147ca in +[NSPersistentStoreCoordinator(MagicalRecord) MR_coordinatorWithSqliteStoreNamed:withOptions:] ()
#3  0x000148fa in +[NSPersistentStoreCoordinator(MagicalRecord) MR_coordinatorWithSqliteStoreNamed:] ()
#4  0x00016546 in +[MagicalRecord(Setup) setupCoreDataStackWithStoreNamed:] ()
#5  0x000026eb in -[LSAppDelegate application:didFinishLaunchingWithOptions:] ()

何が間違っていたのか、それを修正するために何ができるのかわかりません。何か案は?

4

1 に答える 1

2

コア データの移行に問題があったようです。シミュレーターからアプリをアンインストールすると、新しい SQLite データベースが強制的に作成されます。これは、開発中にスキーマを変更しているときに便利です。

後で、-setupCoreDataStackWithAutoMigratingSqliteStoreNamed管理対象オブジェクト モデルの新しいバージョンを作成する限り、簡単な移行を処理する に切り替えることができます。これらのバージョンの作成方法については、 モデル ファイルの形式とバージョンを参照してください。

于 2012-07-11T18:56:05.860 に答える