1

私は iOS が初めてで、ファイルの管理方法に本当に混乱しています。

私のプロジェクトでは、ディレクトリを設定したので、xcode に次のようにします。

サポート ファイル
。1
..pic0101N.png
..pic0102N.pngを設定し
ます。セット 2
..pic0201N.png
..pic0202N.png
など

また、私のアプリがあるファイル構造 (FTF という名前のフォルダー内のデスクトップ上) には、images という名前のディレクトリと、セット 1、セット 2 などのサブディレクトリがあります。

Xcode で画像をクリックすると、フルパスが次のように表示されます: /Users/MyName/Desktop/FTF/FTF/images/Set 1/pic0101N.png

私の質問は、Set 1 フォルダー内のすべての画像のリストを取得するにはどうすればよいですか?

[NSBundle mainBundle] のさまざまな使用方法を試しましたが、結局のところ、私のパスは次のようになります。

/Users/MyName/Library/Application Support/iPhone Simulator/6.1/Applications/Axxxx1E9-19B3-XXX-XXXX-xxX5xXxX4x9/FTF.app

そして、ここには私のファイル構造はないようです。ファイルはそこにありますが、どのディレクトリにもありません。それらはすべてそこにあるファイルの集まりのようです。

NSArray *namesArray = [[NSBundle mainBundle] pathsForResourcesOfType:@"png" inDirectory:@""];

次のようなすべての PNGS のリストが生成され
ます。 /Application Support/iPhone Simulator/6.1/Applications/AXX9-19B3-4B4D-9FD4-8x9xx4499/FTF.app/pic0101P.png

何が起こっているのかについて根本的な混乱がなければならないと思います。誰か助けてくれませんか?

4

2 に答える 2

1

これは、Xcode が役に立たない (および/または開発者が頭が悪いか何かであると想定している) ためであり、グループを作成するたびに、プロジェクト構造にのみ反映されます。対応するフォルダーはファイルシステムに物理的に作成されません。

実際のフォルダーを取得したい場合は、それも可能です -この質問を参照してください。

于 2013-08-19T11:35:04.810 に答える
0

あなたが見ているのは、Xcode プロジェクト構造、MAC OS X ファイル システム構造、iOS アプリ ファイル システム構造、およびビルド中に実際にアプリにコピーされるファイルの違いです。

まず、Mac OS X 上の場所にファイルがあるからといって、プロジェクトやアプリ内のあらゆる種類の同様の場所にあるというわけではありません。

iOS アプリはコンテンツのバンドル (リンク) であり、一部は編集できず、アプリのビルド時に Xcode によって設定され、一部は書き込み可能です (アプリ ドキュメント ディレクトリなど)。アプリにコピーされるファイルはbuild phases、Xcode の設定によって制御されます。

使用している方法NSBundleは、ビルド中にアプリにコピーされたリソースを見つけて使用する正しい方法です。

于 2013-08-19T11:42:22.483 に答える