0

Ray Wenderlich のコア データ チュートリアルの第 2 部を行っています。デフォルト データを含むファイルを読み取る代わりに、彼の SQLite3 チュートリアルで作成された実際の Failed Bank データファイルを読み取ろうとしています。ストアを作成してファイルを開こうとすると、プログラムが例外をスローします。

ここにコードスニペットがあります

- (NSPersistentStoreCoordinator *) persistentStoreCoordinator
{

    if (_persistentStoreCoordinator != nil) {
        return _persistentStoreCoordinator;
}

NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"banklist.sqlite3"];

if (![[NSFileManager defaultManager] fileExistsAtPath:[storeURL path]]) {

    NSURL *preloadURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"banklist" ofType:@"sqlite3"]];
    NSError *err = nil;

    if (![[NSFileManager defaultManager] copyItemAtURL:preloadURL toURL:storeURL error:&err]) {
        NSLog(@"Opps, couldn't copy preloaded data");
    }
}

NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
    NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
    abort();
}    

return _persistentStoreCoordinator;

}

例外は次のとおりです。

2013-09-16 20:19:57.549 FailedBankCD[4086:c07] CoreData: エラー: (1) /Users/artletter1/Library/Application Support/iPhone Simulator/6.1/Applications/524B84E3-94D6 のデータベースの I/O エラー-40A3-8847-DD15A99B22A2/Documents/banklist.sqlite3. SQLite エラー コード: 1、「そのようなテーブルはありません: Z_METADATA」 2013-09-16 20:19:57.552 FailedBankCD[4086:c07] 未解決のエラー エラー Domain=NSCocoaErrorDomain Code=256 「操作を完了できませんでした。(Cocoa エラー256.)" UserInfo=0x854b560 {NSUnderlyingException=/Users/artletter1/Library/Application Support/iPhone Simulator/6.1/Applications/524B84E3-94D6-40A3-8847-DD15A99B22A2/Documents/banklist.sqlite3 にあるデータベースの I/O エラー。SQLite エラー コード: 1、「そのようなテーブルはありません: Z_METADATA」、NSSQLiteErrorDomain = 1}、{ NSSQLiteErrorDomain = 1; NSUnderlyingException = " /Users/artletter1/Library/Application Support/iPhone Simulator/6.1/Applications/524B84E3-94D6-40A3-8847-DD15A99B22A2/Documents/banklist.sqlite3 にあるデータベースの I/O エラー。SQLite エラー コード:1、「そのようなテーブルはありません: Z_METADATA」"; }

ありがとう!

ロイ

4

1 に答える 1