2013-07-20 2 views
2

В моем проекте есть папка (не группа) с именем «data», которая содержит много подпапок, каждая из которых содержит набор файлов.Перемещение ссылок на папки в iOS

Мой вопрос: как мне получить ссылку (или путь) ссылки на папку «данные»? Как насчет его подпапок? Я уверен, что это довольно простая задача, поэтому простите мое невежество, но я никогда не использовал ссылки на папки в проекте, поэтому я не знаком с кодом. Я просмотрел NSFileManager, но я не понимаю, как его использовать.

Заранее спасибо.

ответ

4

NSBundle может предоставить вам абсолютный путь в системе.
NSString (или NSURL) имеет методы работы с дорожками.
NSFileManager позволяет перемещать, копировать, удалять (...) файлы.

Это, как вы получите путь к Data каталогу:

NSString *dataDir = [[[NSBundle mainBundle] bundlePath] stringByAppendingPathComponent:@"Data"]; 
// "/var/private/Application/.../YourApp.app/Data" 

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

В случае, если вы не знаете точный путь, и вы хотите, чтобы просмотреть каталог, вы должны будете использовать :

NSArray *dataDirContents = [[NSFileManager defaultManager] contentsOfDirectoryAtPath:dataDir error:nil] 
// "file1.data", "file2.data", ... 

Тогда это все о добавляя компоненты пути.

+0

Perfect. Спасибо!! Я был на правильном пути, но не знал о вызове «bundlePath». –

+0

Просто подумал, что добавлю, для других, которые могут наткнуться на это, что метод «stringByAppendingPathComponent», а не «pathBy ...», но я знал, что вы имели в виду. Еще раз спасибо! –

+0

Спасибо, я исправил это. Вы знаете, что это всего лишь псевдокод: P – Tricertops