0

我的资源文件夹中有图像“hit_circle_0.png”到“hit_circle_19.png”,但由于某种原因,这段代码从未通过“找到”的测试令人讨厌的是我有完全相同的函数在它下面的另一种方法中工作. 这些文件在“复制捆绑资源”中

NSMutableArray *hitCircle = [[NSMutableArray alloc]init];
for (int i = 0; i < 20; i++) {

    NSString *name = [NSString stringWithFormat:@"hit_circle_%i", i];
    NSString *filePath= [[NSBundle mainBundle] pathForResource:name ofType:@"png"];

    if ([[NSFileManager defaultManager] fileExistsAtPath:filePath]){
        NSLog(@"file %@ was found", filePath);
    } else{
        NSLog(@"%@ not found", filePath);
    } 
}
4

2 回答 2

0

只是为了好玩,我进入查找器并将其中一个文件重命名为完全相同的名称并加载。然后我做了其他的 - 只是将它们重命名为相同的名称。我看了看,文件名前后没有任何奇怪的字符或空格。所以现在它们都可以很好地加载到模拟器中的数组中。我还没有弄清楚为什么。

于 2012-09-07T00:10:12.400 回答
0

我几乎可以肯定你正在寻找错误的子目录,你需要使用类似的东西:

NSString *filePath= [[NSBundle mainBundle] pathForResource:name ofType:@"png" inDirectory:@"Hit_Circles"];

或者,如果它只是在 Documents 目录中,您可以使用它来获取它,然后附加您的文件名:

NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
于 2012-09-05T18:37:46.663 回答