2014-04-29 3 views
0

글쎄 이것은 당황스럽고 나는 많은 질문에 답을 보았다. 나는 많은 답변을 복사했지만 아무도 나를 위해 일하지 않는다. 나는 객관적인 C 언어로 새롭다. 나는 여기 규칙을 안다. 나는 그것을 봤다. 많은 객관적인 C, Xcode, 프로그래밍, C, 포럼, 블로그 등의 페이지가 있습니다. 여기 Nuts가 있습니다.파일의 내용을 NSString에 저장하는 방법은 무엇입니까?

#import <Foundation/Foundation.h> 

int main(int argc, const char * argv[]) 
{ 

    @autoreleasepool { 
     NSError *error = NULL; 
     NSString* pathFile = [[NSBundle mainBundle] pathForResource:@"file" 
                    ofType:@"txt"]; 
     NSString* content = [NSString stringWithContentsOfFile:pathFile 
                  encoding:NSUTF8StringEncoding 
                   error:&error]; 
     if (error) 
      NSLog(@"Error reading file: %@", error.localizedDescription); 
     NSLog(@"%@", content); 
    } 
    return 0; 
} 

그것의 매우 간단합니다, 원래 응용 프로그램에서이 복잡하지만 임 문제를 얻는 부분이다 : 여기

코드 내 생각이다.

그리고 buble에서을 heres 파일

...

enter image description here

Heres는

은 결과입니다 ... 마침내 여기

2014-04-28 21:45:17.213 LeerFile[6930:303] Error reading file: The file name is invalid. 
2014-04-28 21:45:17.214 LeerFile[6930:303] (null) 

그리고 빌드 단계입니다

enter image description here

얘들 아, 도와주세요. 이걸로 나, 나는 그것을 시도하지만 내가 잘못하고있는 방법이나 그것을 해결하는 방법을 모르겠다 ...

답변

2

문제는 당신이/usr/share/man/man1 /에 파일을 복사하는 것입니다, 번들의 resources 폴더에있는 파일을 찾고 있습니다. 파일을 resources 폴더에 복사하거나 [NSString stringWithContentsOfFile:encoding:error:];에 다른 경로를 전달해야합니다.

또한 "설치시에만 복사"를 선택 했으므로 디버그 빌드에서 파일을 복사하지 않습니다.

+0

Perfect. pathForResource에/usr/share/man/man1/file을 써서 잘 작동하지만 어떻게 리소스 폴더에 저장할 수 있습니까? 내 프로젝트에서 드래그 할 때 리소스 폴더에 유지 된 것으로 생각했습니다. –

+0

파일 복사 단계의 대상 팝업 메뉴를 "절대 경로"에서 "자원"으로 변경할 수 있습니다. – user1118321