1

次の手順を実行しました。1. xcodeプロジェクトを作成し、SupportingFiles内に「Images」という名前のフォルダーを作成しました。

  1. 4枚の画像をドラッグアンドドロップしました。次のコードを使用してこれらのファイルにアクセスしようとしました

    NSString *pathString = [[NSBundle mainBundle] pathForResource:@"Images" ofType:nil];
    NSArray *fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:pathString error: nil];
    NSLog(@"the fileList is %d",[fileList count]);
    

カウントは常に0です。今何をすればよいですか?その中にファイルがあり、imageviewsで使用することができます。

それで、私が犯している間違いは何ですか?

4

2 に答える 2

7

Xcode は、グループに対応するアプリ バンドル内にフォルダーを生成しません。追加されたすべてのリソースは、ターゲットのビルド フェーズの [バンドル リソースのコピー] に存在します。次に、[[NSBundle mainBundle] bundlePath] パスの下のリソースにアクセスします。

ただし、任意のフォルダーの下のファイルをカウントする場合は、そのフォルダーを追加するときにオプションをチェックする必要があります。

「追加されたフォルダーのフォルダー参照を作成します。」

これにより、追加したのと同じ階層にフォルダーとサブフォルダーが作成されます。その後、上記と同じ方法で簡単に数えることができます...

それ以外の場合、アプリバンドルには、「画像」と言うように、どのフォルダーにもない1つの場所にすべてのリソースがあります。次のコードを使用してください:

NSArray *fileList = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:[[NSBundle mainBundle] resourcePath] error: nil];
NSLog(@"the fileList is %d",[fileList count]);

すべてのリソースが一覧表示されます。

于 2012-06-29T11:00:25.143 に答える
0

これを試して、

NSString *imagespath = [[NSBundle mainBundle] pathForResource:"yourimagename" ofType:@"png" inDirectory:@"images"];
于 2012-06-29T10:58:55.767 に答える