我的资源文件夹中有“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);
}
}
答案 0 :(得分:0)
我几乎肯定你正在查找错误的子目录,你需要使用类似的东西:
NSString *filePath= [[NSBundle mainBundle] pathForResource:name ofType:@"png" inDirectory:@"Hit_Circles"];
或者,如果它只是在Documents目录中,你可以使用它来获取它,然后附加你的文件名:
NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
答案 1 :(得分:0)
只是为了踢,我进入了查找器并将其中一个文件重命名为完全相同的名称并加载。然后我做了其他人 - 只需将它们重命名为同名。我看了一下,文件名之前或之后没有任何奇怪的字符或空格。所以现在它们都可以很好地加载到模拟器中的数组中。我还是没弄明白为什么。