2011-03-21 3 views
0

아래 코드를 사용하여 이미지 묶음으로 이미지 파일을로드했습니다. 코드가 작동합니다! 대형 이미지 파일dataWithContentsOfFile : NSData의 파일 경로가 가끔 작동하며 때때로 기능이 없습니다

작동하지 않습니다 : imageData의이 0x0으로에게

NSMutableString *sss; 
sss=[[NSMutableString alloc] initWithString: [[NSBundle mainBundle] resourcePath]]; 
[sss appendString:@"/"] ; 
[sss appendString:@"thumbnail.png"]; 
NSData *imageData = [NSData dataWithContentsOfFile:sss]; 

를 반환하지 않고 거의 모든 것이 동일있는 아래의 코드는 아무 기능이없는, imageData의는 항상 [파일 경로을 NSData dataWithContentsOfFile]처럼 보이는이 0x0를 반환하지

NSMutableString *sss; 
sss=[[NSMutableString alloc] initWithString: [[NSBundle mainBundle] resourcePath]]; 
[sss appendString:@"/"] ; 
[sss appendString:@"original.png"]; 
NSData *imageData = [NSData dataWithContentsOfFile:sss]; 

thumbnail.png와 original.png는 모두 주 번들과 같은 디렉토리에 있습니다.

thumbnail.png

이 original.png

original.png

감사

모든 의견을 환영합니다

을 thumbnail.png

마크

+0

* "thumbnail.png와 original.png 둘다 메인 번들과 같은 디렉토리에 있습니다."*라고 할 때 실제 * .app 디렉토리를 의미합니까, 아니면 Xcode 프로젝트의 같은 폴더? – DarkDust

답변

3

파일의 크기와 관련이 없습니다. 코드에서 파일 이름의 철자가 올바른지 확인하고 확인하십시오. 파일 이름은 대소 문자를 구별합니다. 따라서 파일의 이름이 original.PNG 인 경우 코드에서도 이와 같이 작성해야합니다.

original.png 파일이 프로젝트에 추가되었는지 확인하고, 그렇다면 프로젝트에서 제거하고 다시 추가하십시오. 파일을 프로젝트로 드래그 할 때 "파일 복사 ..."옵션이 선택되어 있는지 확인하십시오.

+1

입니다. iOS에서는 FS가 대소 문자를 구분한다는 +1을 말합니다. – DarkDust

1

리소스에 실제로 포함되어 있는지 확인하십시오. 해당 파일이 다음과 같은지 확인하십시오 : 대상/ProductName/번들 리소스 복사

+0

ㅎ, 좋은 타이밍 :) –

+0

:) 예, 그건 –

1

또한 파일이 리소스에 추가되지 않았다고 생각합니다. xcode 프로젝트의 'Resources'폴더를 확인하십시오. 거기에 없다면 거기에 넣으십시오. 거기에 드래그하거나 오른쪽 클릭 -> 새 파일.

관련 문제