1

私はiPhoneの初心者ですが、データベースを作成しましたが、「書き込み可能なデータベースファイルの作成に失敗しました」というメッセージとともに実行時エラーが発生します。操作を完了できませんでした。

私のコードは

-(void)createdatabase
{
    NSFileManager *fileManager=[NSFileManager defaultManager];
    NSError *error;
    NSString *dbPath=[self getDBPath];
    BOOL success=[fileManager fileExistsAtPath:dbPath];
    if(!success)
    {
        NSString *defaultDBPath=[[[NSBundle mainBundle]resourcePath] stringByAppendingPathComponent:@"SQL.sqlite"];
        success=[fileManager copyItemAtPath:defaultDBPath toPath:dbPath error:&error];
        if(!success)
        {
                NSAssert1(0, @"Failed to create writable database file with message '%@'.", [error localizedDescription]);  
        }

    }
}

私のコードに適用される提案とソースコードを教えてください

4

3 に答える 3

1

Shah Paneri の回答がうまくいかない場合は、さらにデータベース ファイルの「ターゲット メンバーシップ」を調べることができます。プロジェクトが選択されていることを確認してください。そうでない場合(私の場合はそうではありませんでした)、これを選択すると問題が解決するはずです。

于 2014-04-09T13:59:55.447 に答える
1

このエラーコードについてグーグルで少し調べたところ、

NSFileReadNoSuchFileError = 260,                        // Read error (no such file)

そのため、上記のスニペットで参照しているパスに DB ファイル (SQL.sqlite) があることを確認してください。

于 2012-06-21T09:13:27.653 に答える
1

これを試してみてください: シミュレーターのアプリケーション フォルダーからアプリケーションを削除してから、アプリケーションを再度実行してください。

于 2012-09-04T07:11:39.173 に答える