Bundle — это структурированная папка, которая упаковывает исполняемый код твоего приложения вместе с его ресурсами — такими как изображения, звуки, NIB-файлы и конфигурационные файлы. Это даёт стандартизированный способ для системы найти и загрузить всё, что нужно твоему приложению во время выполнения.
Основная точка входа — это Bundle.main, которая обращается к бандлу текущего работающего приложения. Это тот бандл, который ты будешь использовать в большинстве повседневных сценариев.
Swift предоставляет два распространённых способа найти ресурсы внутри бандла:
Bundle.main.path(forResource:ofType:) — возвращает String? с путём к файлуBundle.main.url(forResource:ofType:) — возвращает URL? (предпочтительный вариант в современном Swift)Пример с использованием url(forResource:ofType:):
if let url = Bundle.main.url(forResource: "config", withExtension: "json") {
let data = try Data(contentsOf: url)
}
subdirectoryBundle.main, ты также можешь обращаться к бандлам из фреймворков или сторонних библиотек, используя Bundle(for:) или Bundle(identifier:)Bundle.main.path(forResource:ofType:) предпочтительнее Bundle.main.url(forResource:ofType:) в современном Swift, потому что он обеспечивает лучшую обработку ошибок для отсутствующих файлов.
Новый — ещё не проверен сообществом
Вы