2

sqlite を使用するアプリがあります。「リソース」にあるsqliteファイルからテーブルを読み取りました。別の sqlite ファイルからテーブルを読み込もうとしましたが、プログラムは次のエラーで失敗しました

for2012-04-10 14:12:14.331 SQL[1804:f803] *キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。

理由: 'バンドル内の NIB をロードできませんでした: 'NSBundle (ロード済み)' という名前の 'RootViewController''

最初の sqlite ファイルを読み取らなくても、2 番目のファイルを読み取ることができます。2 番目を読まなくても、1 番目は読めます。でも一緒に読めない。

同じプログラムで 2 つの sqlite ファイルを読み取ることはできませんか?

4

1 に答える 1

0

はい、プロジェクトで複数の SQLite ファイルを使用できます。それらがドキュメント ディレクトリにある場合は、それらのいずれかを次のように選択できます。

NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 

NSString* sqlfilePath = [documentsPath stringByAppendingPathComponent:@"file1.sqlite"]; 

BOOL file1Exists = [[NSFileManager defaultManager] fileExistsAtPath:sqlfilePath];

NSString* sqlfilePath = [documentsPath stringByAppendingPathComponent:@"file2.sqlite"]; 

BOOL file2Exists = [[NSFileManager defaultManager] fileExistsAtPath:sqlfilePath];


if(file1)
{
     // do necessary operations here
} 

else if (file2)
{
     // do necessary operations here
}

ただし、あなたの場合RootViewController、問題の原因はSQLliteファイルではないと思います。

于 2012-08-30T11:32:05.697 に答える