URL и пути к файлам
Находите файлы с помощью API на основе URL.
«URL и пути к файлам» — бесплатный урок Swift Academy на CoddyKit. Это урок 1 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Swift Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Swift Academy содержит 4 уроков всего.
URL-адреса и пути к файлам
На платформах Apple файлы обозначаются значениями URL, а не простыми строками. URL-адрес файла указывает на расположение в файловой системе.
URL-адреса файлов
Создайте URL-адрес файла с помощью URL(fileURLWithPath:). Он обозначает локальный файл, а не сетевой адрес.
import Foundation
let url = URL(fileURLWithPath: "/tmp/data.txt")
print(url.path)
print(url.isFileURL)Добавление компонентов пути
appendingPathComponent(_:) безопасно создаёт дочерний путь, самостоятельно вставляя разделители.
import Foundation
let base = URL(fileURLWithPath: "/tmp")
let file = base.appendingPathComponent("notes.txt")
print(file.path)Расширения путей
Используйте appendingPathExtension(_:), чтобы добавить тип файла, а pathExtension — чтобы прочитать его.
import Foundation
let url = URL(fileURLWithPath: "/tmp/report")
.appendingPathExtension("pdf")
print(url.lastPathComponent)
print(url.pathExtension)Последний компонент пути
lastPathComponent возвращает имя файла или папки, а deletingLastPathComponent() перемещается к родительскому каталогу.
import Foundation
let url = URL(fileURLWithPath: "/Users/me/file.txt")
print(url.lastPathComponent)
print(url.deletingLastPathComponent().path)Удаление расширений
deletingPathExtension() удаляет тип файла, что удобно для получения связанных имён файлов.
import Foundation
let url = URL(fileURLWithPath: "/tmp/image.png")
let base = url.deletingPathExtension()
print(base.lastPathComponent)Современные средства доступа к URL-адресам
В новых программных интерфейсах используются url.appending(path:) и url.path(); оба варианта создают эквивалентные URL-адреса файлов.
import Foundation
let base = URL(fileURLWithPath: "/tmp")
let child = base.appending(path: "logs/today.log")
print(child.path)URL-адрес и строковый путь
Свойство path преобразует URL-адрес в обычную строку, когда этого требует программный интерфейс. Во всех остальных случаях предпочтительнее использовать URL-адреса.
import Foundation
let url = URL(fileURLWithPath: "/var/data")
let asString: String = url.path
print(asString)Относительные URL-адреса
Можно создать URL-адрес относительно базового адреса, что удобно для составления путей от известного корневого каталога.
import Foundation
let base = URL(fileURLWithPath: "/tmp/", isDirectory: true)
let rel = URL(fileURLWithPath: "sub/file.txt", relativeTo: base)
print(rel.absoluteURL.path)Стандартизация путей
standardizedFileURL преобразует такие элементы, как .. и ., в чистый канонический путь.
import Foundation
let messy = URL(fileURLWithPath: "/tmp/a/../b/file.txt")
print(messy.standardizedFileURL.path)Почему URL-адреса лучше строк
URL-адреса содержат сведения о том, является ли путь каталогом, корректно обрабатывают разделители и интегрируются с FileManager. По сравнению с ними строковые пути чаще приводят к ошибкам.
import Foundation
let dir = URL(fileURLWithPath: "/tmp/folder", isDirectory: true)
print("Has directory path: \(dir.hasDirectoryPath)")Быстрая проверка
Какой метод безопасно создаёт дочерний путь для URL-адреса файла?
Итоги
Файлы обозначаются с помощью URL и URL(fileURLWithPath:). Вы создавали пути с помощью appendingPathComponent и appendingPathExtension, перемещались по ним с помощью lastPathComponent и deletingLastPathComponent и стандартизировали URL-адреса. Далее: чтение и запись фактических данных.
Часто задаваемые вопросы
Урок «URL и пути к файлам» бесплатный?
Да — полный текст урока «URL и пути к файлам» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Swift Academy, подпишись на CoddyKit PRO. Курс Swift Academy содержит 4 уроков всего.
Чему я научусь в уроке «URL и пути к файлам»?
Находите файлы с помощью API на основе URL. Ты практикуешь Swift Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Swift Academy?
Предыдущий опыт не требуется. Swift Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 4.
Сколько времени занимает урок «URL и пути к файлам»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Swift Academy?
Да. Каждый урок Swift Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- URL и пути к файлам
- Чтение и запись данных
- Управление каталогами
- Каталоги песочницы приложения