Создание каталога - что заменяет createDirectoryAtPath?

В моей программе есть следующая строка кода, которую я взял из четвертого издания книги Стивена Г. Кочана "Программирование в Objective-C":

[fileManager createDirectoryAtPath:DATABASE_DIRECTORY attributes:nil];

Примечание: fileManager - это моя переменная fm, а DATABASE_DIRECTORY - это #define моего пути.

Хотя он отлично работает (я использую OSX 10.6.8), каждый раз, когда я компилирую, мне напоминают, что:

"createDirectoryAtPath:attributes:" is deprecated

Я просмотрел справочный документ для файлового менеджера, и это немного ошеломляет новичка в программировании какао. Несмотря на это, этот конкретный метод больше не указан в единственных справочных документах файлового менеджера, которые я смог найти (https://developer.apple.com/library/mac/#documentation/Carbon/Reference/File_Manager/Reference/reference.html). даже не указан как "устарел". Это просто не там вообще.

Ясно, что это все еще работает, но очевидно, что идея состоит в том, чтобы использовать другой и более современный способ создания каталога (я заметил, что ссылка filemanager является ссылкой Carbon vs. Cocoa. Я еще не пробовал запускать это на Lion, чтобы увидеть, это все еще работает.)

Есть ли прямая замена для этого устаревшего метода?

Если нет, то пытается ли Apple покончить с именами путей и полностью переключиться на Unicode? (Простите, если я немного запутался в этом вопросе и терминологии... Я не писал код с конца 80-х...) В прошлом я никогда не использовал Unicode ни для чего, поэтому я не знаю, где начать.

Если кто-то может порекомендовать хороший текущий учебник по Unicode и / или программному коду для чтения / записи файлов в Какао, это будет очень цениться!

1 ответ

Решение

То, что делает Apple, это уход от путей к URL-адресам - я не знаю, пойдут ли они до конца, но кажется, что они действительно обесценивают довольно много методов пути в пользу URL-методов. Замена для createDirectoryAtPath:attribute: is createDirectoryAtURL:withIntermediateDirectories:attribute: error:

Я не уверен, почему вы не можете найти это в документах, если вы ищете createDirectoryAtPath:attribute: он приводит вас к устаревшим методам и в этой ссылке указывает на замену.

Другие вопросы по тегам