2012-09-05 2 views
0

내 리소스 폴더에서 "hit_circle_0.png"~ "hit_circle_19.png"이미지가 있지만 어떤 이유로이 코드는 "found"에 대한 테스트를 통과하지 않습니다. 성가신 일은 다른 메서드에서 작동하는 똑같은 기능입니다. 그 아래에. 그리고 파일은 "복사 번들 리소스"에있다왜 이러한 이미지에 대해 올바른 pathForResource를 찾지 못합니까?

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

파일 이름을 확인 하시겠습니까? iOS 파일 시스템은 대소 문자를 구분합니다. –

답변

0

난 당신이 잘못된 서브 디렉토리에서 찾고있는 거의 확실 해요, 당신은 같은 것을 사용해야합니다

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

또는 경우를 그냥 문서 디렉토리에, 당신은이를 사용하는 것을 얻을, 다음 파일 이름을 추가 할 수 있어요 : 내가 파인더에 가서 정확히 같은 이름으로 파일 중 하나의 이름을 변경하고로드 그냥 재미로에 대한

NSString* documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0]; 
+0

하위 디렉토리 문자열을 시도했습니다 - 여전히 "null" – frankie

0

. 그런 다음 다른 사람들도 똑같은 이름으로 바꾸었다. 나는 보았고 파일 이름 앞이나 뒤에 이상한 문자 나 공백 문자는 없었습니다. 이제는 시뮬레이터의 배열에 모두로드됩니다. 나는 아직도 이유를 알아 내지 못했다.

관련 문제