0

私は本当に奇妙な問題を抱えています.すべてのプロジェクトを保持するフォルダー内にアプリを持っています。その位置から(Xcode 4.5を使用して)アプリを開くと、アプリは正常に動作しますが、デスクトップにアプリのコピーを置いて、iPhoneでテストするためにアプリを開こうとすると、これはエラーです( NSInvalidArgumentException '、理由: 'nil モデルで NSPersistentStoreCoordinator を作成できません' )

私はすでにすべてをリセットしてクリーニングしようとしましたが、何も機能していませんか?

このことは私を夢中にさせますか?

何か案は?

助けてくれてありがとう..

4

3 に答える 3

2

コード行 stringByAppendingPathComponent でデータベースの名前を変更します。値を dummy.sqlite から anyOther.sqlite に変更します。これは、データベースを再作成するための適切なソリューションです。

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
if (persistentStoreCoordinator != nil) {
    return persistentStoreCoordinator;
}
NSURL *storeUrl = [NSURL fileURLWithPath: [[self applicationDocumentsDirectory]
                                           stringByAppendingPathComponent: @"dummy.sqlite"]];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc]
                              initWithManagedObjectModel:[self managedObjectModel]];
if(![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType
                                             configuration:nil URL:storeUrl options:nil error:&error]) {
    /*Error for store creation should be handled in here*/
}

return persistentStoreCoordinator;

}

于 2012-09-24T08:42:55.893 に答える
0

それは比較的単純です。

バージョンのないxcdatamodel ファイルがある場合: managedObjectModel 宣言で拡張子「mom」を使用します。xcdatamodel にバージョンがある場合は、「momd」を使用する必要があります。

于 2014-04-14T02:00:37.610 に答える
0

これと同じ問題がありました。AppDelegate.m で、モデル URL を使用されなくなった以前のモデル名にリンクしていたため、データ モデルとやり取りしようとすると、このエラーがスローされていました。

同じ問題を抱えている人に役立つことを願っています。

乾杯

于 2013-10-11T02:49:21.347 に答える