0Pricing
Swift Academy · Урок

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 — локальная установка не требуется.

Все уроки этого курса

  1. URL и пути к файлам
  2. Чтение и запись данных
  3. Управление каталогами
  4. Каталоги песочницы приложения
← Назад к Swift Academy