Каков наилучший способ найти каталог документов пользователя на iPhone?
Я читаю Эрику Садун Поваренная книга разработчика iPhone, и столкнулся с вопросом.
Она говорит в книге, что для того, чтобы найти каталог документов пользователя с кодом:
[NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
но это кажется немного хрупким и непохожим на обычный способ Mac сделать это, который был бы:
NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory, NSUserDomainMask, YES);
есть ли какие-то особые причины использовать один над другим?
5 ответов:
Objc:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)
Swift:
var paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
вам понадобится первый элемент возвращаемого массива.
вот код, который я использую в моих рамках.
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentsDirectory = [paths objectAtIndex:0];
вы должны рассмотреть возможность использования методов NSFileManager, которые возвращают URL-адреса, которые являются предпочтительным форматом.
let documentsURL = NSFileManager.defaultManager().URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as NSURL
этот метод предназначен для поиска известных и общих каталогов в системе.
массив объектов NSURL, идентифицирующих запрошенные каталоги. Каталоги упорядочены в соответствии с порядком констант маски домена, с элементами в домене пользователя первым и элементами в системном домене последним.