Как загрузить файл в каталог документов Iphone? - PullRequest
0 голосов
/ 11 марта 2010

У меня есть несколько больших файлов, которые я хочу загрузить в папку с документами приложений, а затем вызвать их оттуда по требованию.

Я видел предложение поместить их в папку ресурсов, а затем, когда приложение загрузит, скопировать их в папку документов. Я предполагаю, что если я сделаю это, все эти большие файлы будут загружены в память при запуске приложения и останутся там ...

Есть ли какой-нибудь способ, с помощью которого эти файлы попадают прямо в папку документов при установке приложения и загружаются в память только тогда, когда они к ним обращаются?

Спасибо ...

Ответы [ 2 ]

0 голосов
/ 11 марта 2010

Зависит от того, где изначально находятся файлы. Если в вашем комплекте, то используйте NSFileManager, как сказал gcamp. Если вы загружаете их из Интернета или генерируете их на лету, используйте NSOutputStream - это API для записи двоичных или текстовых данных из памяти в файлы. Или используйте POSIX open () / write (), старая школа.

0 голосов
/ 11 марта 2010

Нет способа сделать это автоматически при установке.

Вы можете использовать NSFileManager для копирования ваших файлов.

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *finalPath = [documentsDirectory stringByAppendingPathComponent:@"documentName"];
[[NSFileManager defaultManager] copyItemAtPath:yourDocumentPath toPath:finalPath error:nil];
...