2010-03-11 5 views
0

필자는 응용 프로그램 문서 폴더에로드하고 필요할 때마다 전화를 걸려는 대형 파일이 여러 개 있습니다.아이폰 문서 디렉토리에 파일을로드하는 방법은 무엇입니까?

리소스 폴더에 넣은 다음 응용 프로그램을로드 할 때 문서 폴더에 복사하는 것이 좋습니다. 만약 내가 이렇게하면,이 큰 파일은 모두 응용 프로그램이 시작될 때 메모리에로드되고 거기에 머물러 있다고 가정합니다 ...

이 파일을 응용 프로그램 설치되어 있고 호출 될 때만 메모리에로드됩니까?

감사합니다 ...

답변

0

설치시 자동으로 수행 할 방법이 없습니다.

NSFileManager과 같이 파일을 복사 할 수 있습니다.

+0

감사합니다. 리소스 디렉토리에있는 큰 파일이 메모리에로드되어 거기에 머물러 있다고 가정 할 때 나는 맞습니까? 문서 디렉토리에 복사 한 후 언로드하는 방법이 있습니까? – ilmar

+0

설치된 앱 번들을 수정 (즉, 파일을 지우는 것)하는 것이 좋습니다. 아무리 반향이 있을지는 확실하지 않지만 애플은 말한다. 번들에서 바로 이러한 파일을 사용할 수 없게되는 이유는 무엇입니까? 사용자가 차이점을 말할 수있는 것과는 다릅니다. –

+0

나는이 큰 파일을 거기에서 지키기 위해 메모리에 히트가 걱정된다. 또한, 앱은로드하는 데 더 오랜 시간이 걸릴 것이다. 보통 한 번에 큰 파일 중 하나만 액세스해야한다. – ilmar

0

파일이 원래 있던 위치에 따라 다릅니다. 번들에 있다면, gcamp와 마찬가지로 NSFileManager를 사용하십시오. Net에서 다운로드하거나 즉석에서 생성하는 경우 NSOutputStream을 사용하십시오. 이는 메모리의 바이너리 또는 텍스트 데이터를 파일로 작성하기위한 API입니다. 또는 POSIX open()/write(), old school을 사용하십시오.

+0

내가 달성하고자하는 것은 애플 리케이션이 설치되지만 특정 파일이 호출되고있을 때만 메모리에로드 될 때 아이폰에로드 된 이러한 파일을 갖는 것입니다. 어떻게 할 수 있니? – ilmar

+0

음, 앱이 설치되면 번들의 모든 리소스 파일도 휴대 전화에 설치됩니다. 응용 프로그램이 사용자에 의해 실행될 때 리소스가 메모리에 자동으로로드되지 않습니다 - 코드가 어떻게 든로드 될 때까지 (loadNibFile, imageNamed 또는 다른 메서드 사용). –

+0

ok .. 감사합니다. 내가 오해하고있는 것이 었습니다. 나는 자원이 모두 한 번에로드 될 것이라고 생각했습니다. – ilmar

관련 문제