0

使うとき NSString *path = [[NSBundle mainBundle] pathForResource:name ofType:@"sqlite"];

ファイルがXcodeに含まれていない場合、指定されたファイル名に対してNSBundleクラスは、nilを返す代わりに、何があってもファイルを作成しているように見えます。xcodeからファイルを削除しようとしましたが、機能しませんでした。その後、プロジェクトのシミュレーターのパスに移動しました(そのパスはpathForResourceによって生成されます):

/Users/USER_NAME/Library/Application Support / iPhoneSimulator / 6.0 / Applications / APP_CODE / APP_NAME.app / sampleDB.sqlite

デバッガーでプログラムを実行する前に、ファイル「sampleDB.sqlite」を手動で削除します。pathForResourceメソッドが呼び出されるたびに、ファイルは魔法のようにフォルダーに再表示されるようです。

ドキュメントには次のように記載されています。戻り値の種類:リソースファイルのフルパス名。ファイルが見つからなかった場合はnil。

編集:

pathForResourceがコメントアウトされているので、ファイルは削除されます-私はまだそのファイルを魔法のようにバンドルに再表示します。何か案は?

4

1 に答える 1

1

クリーン ビルドを作成して、ファイルがアプリ バンドルから削除されるようにします。

于 2012-07-22T20:04:26.080 に答える