О файлах и каталогах
Файловая система является важной частью любой операционной системы. В конце концов, это - где пользователи сохраняют свой материал. Организация файловой системы играет важную роль в помощи пользователю найти файлы. Организация также упрощает для приложений и самой системы находить и получать доступ к ресурсам, они должны поддерживать пользователя.
Этот документ предназначается для разработчиков, пишущих программное обеспечение для OS X, iOS и iCloud. Это показывает Вам, как использовать системные интерфейсы для доступа к файлам и каталогам и как переместить файлы в и от iCloud. Этот документ также дает представление о том, как лучше всего работать с файлами, и он показывает Вам, куда необходимо помещать любые новые файлы, Вы создаете.
Сразу
Для эффективного использования файловой системы знайте, что ожидать от самой файловой системы и какие технологии доступны для доступа к нему.
Файловая система налагает определенную организацию
Файловые системы в iOS и OS X структурированы, чтобы помочь сохранить файлы организованными, и для пользователя и для приложений. С точки зрения Вашего кода хорошо организованная файловая система упрощает располагаться, регистрирует Ваши потребности приложения. Конечно, также необходимо знать, куда необходимо поместить любые файлы, Вы создаете.
Файлы доступа безопасно
В многопользовательской системе как OS X возможно, что больше чем одно приложение может попытаться считать или записать файл в то же время, что и другое приложение использует его. NSFileCoordinator
и NSFilePresenter
классы позволяют Вам поддерживать целостность файлов и гарантировать что, если файлы сделаны доступными для других приложений (например, посылая текущий документ TextEdit по электронной почте), который отправляется самая актуальная версия.
То, как Вы получаете доступ к файлу, зависит от типа файла
Различные файлы требуют другого лечения Вашим кодом. Для форматов файлов, определенных Вашим приложением, Вы могли бы считать содержание как двоичный поток байтов. Для большего количества форматов общего файла, тем не менее, iOS и OS X предоставляют высокоуровневую поддержку, которые делают чтение и запись тех файлов проще.
Системная справка интерфейсов Вы определяете местоположение и управляете своими файлами
Трудно кодированные пути хрупки и склонны повредиться в течение долгого времени, таким образом, система обеспечивает интерфейсы, ищущие файлы в известных расположениях. Используя эти интерфейсы делает Ваш код более устойчивым и соответствующим требованиям завтрашнего дня, гарантируя, что независимо от того, куда файлы перемещаются в, можно все еще найти их.
Пользователи взаимодействуют с файлами Используя стандартные системные панели
Для файлов, которые пользователь создает и управляет, Ваш код может использовать стандартные панели Open и Save для выяснения расположения тех файлов. Стандартные панели дарят пользователю пригодную для навигации версию файловой системы, соответствующей то, что представляет Средство поиска. Можно использовать эти панели без настройки, изменить поведение по умолчанию или увеличить их с собственным содержанием. Даже поигравшие в песочнице приложения могут использовать панели для доступа к файлам, потому что они работают с базовым уровнем безопасности для разрешения исключений для файлов за пределами песочницы, которую явно выбирает пользователь.
Считайте и запишите файлы асинхронно
Поскольку операции файла требуют доступа к диску или сетевому серверу, необходимо всегда получать доступ к файлам от вторичного потока приложения. Некоторые технологии для чтения и записи регистрируют выполненный асинхронно без Вас имеющий необходимость сделать что-либо, в то время как другие требуют, чтобы Вы обеспечили свой собственный контекст выполнения. Все технологии делают по существу ту же вещь, но предлагают разные уровни простоты и гибкости.
Поскольку Вы читаете и пишете файлы, необходимо также использовать координаторов файла, чтобы гарантировать, чтобы любые действия, Вы берете файл, не вызывали проблемы для других приложений, заботящихся о файле.
Переместите, скопируйте, удалите и управляйте файлами как средство поиска
Системные интерфейсы поддерживают все те же типы способов поведения что поддержки Средства поиска и еще много. Можно переместить, скопировать, создать и удалить файлы и каталоги точно так же, как пользователь может. Используя программируемые интерфейсы, можно также выполнить итерации через содержание каталогов и работать с невидимыми файлами намного более эффективно. Что еще более важно большая часть работы может быть выполнена асинхронно, чтобы избежать блокировать основной поток Вашего приложения.
Оптимизируйте свои связанные с файлом операции
Файловая система является одной из самых медленных частей компьютера, настолько пишущий эффективный код важен. Оптимизация Вашего кода файловой системы о минимизации работы, которую Вы выполняете и удостоверяясь, что операции, которые Вы действительно выполняете, сделаны эффективно.
См. также
Для получения информации о более усовершенствованных задачах файловой системы, которые можно выполнить, посмотрите Файловую систему Усовершенствованные Темы Программирования.