2013-02-18 3 views
4

Как я могу получить URL-адрес для определенного каталога в каталоге документов.Как получить URL-адрес для каталога внутри каталога документа?

как Document/Art/

Мой код

- (NSURL *)localRoot { 
if (_localRoot != nil) { 
    return _localRoot; 
} 

NSArray * paths = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask]; 

_localRoot = [paths objectAtIndex:0]; 
return _localRoot; 
} 

выше кода является путь URL для Documents каталога, но мне нужно Art путь к каталогу документов.

+0

follow my ответ http://stackoverflow.com/questions/14908131/how-to-clear-ios-app-library-cache-downloaded-images/14910128#14910128 – Rajneesh071

ответ

8
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSString *yourArtPath = [documentsDirectory stringByAppendingPathComponent:@"/Art"]; 
+0

- (NSURL *) localRoot { if (_localRoot! = nil) { return _localRoot; } NSArray * paths = NSSearchPathForDirectoriesInDomains (NSDocumentDirectory, NSUserDomainMask, YES); NSString * documentsDirectory = [paths objectAtIndex: 0]; NSString * artdirectoryPath = [documentsDirectory stringByAppendingPathComponent: @ "/ Art"]; _localRoot = [NSURL URLWithString: artdirectoryPath]; return _localRoot; } это мой обновленный код, но все же я получил ошибку .. – Vijay

+0

в то время как идти на пути - [NSFileManager contentsOfDirectoryAtURL: includingPropertiesForKeys: Опции: ошибка]: URL равна нулю» – Vijay

+0

thankq очень его будет – Vijay

0

Application.StartupPath;

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

+0

извините, что я новичок, я получил этот URL во время работы/Пользователи/XXXX/Библиотека/Поддержка приложений/iPhone Simulator/6.0/Applications/8A1E5A56-F85B-4128-83F9-208643469DB3/Documents – Vijay

2

Используйте этот

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 

NSString *documentsDirectory = [paths objectAtIndex:0]; 

NSString *appFile_a = [documentsDirectory stringByAppendingPathComponent:@"/Art"]; 
+0

его NSString мне нужен NSURL, поэтому в качестве метода я буду использовать insing of stringByAppendingPathComponent: – Vijay

+0

добавьте эту строку также NSURL * url = [NSURL URLWithString: appFile_a]; –

+0

NSString * appFile_a = [documentsDirectory stringByAppendingPathComponent: @ \ "Art \"]; есть ошибка в '@" \ Art "\' – rptwsthi

0

На основании выше ответ здесь является простой Methode, который возвращает, путь к данному каталогу:

+ (NSString *) pathFor : (NSString *) directoryName{ 
    return [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] stringByAppendingPathComponent:directoryName]; 
} 

Вы должны реализовать его в ClassName.m и называем :

NSString *pathForDirectory = [ClassName pathFor:dirName]; //@"Art" in your case 
Смежные вопросы