Как получить все png из определенной папки в Xcode? - PullRequest
0 голосов
/ 09 февраля 2019

Я хотел бы получить все PNG в определенной папке в XCode.В настоящее время я использую этот код для получения файла PNG.

(Bundle.main.paths(forResourcesOfType: "png", inDirectory: nil) as NSArray).enumerateObjects({ obj, idx, stop in
        var path = (obj as! NSString).lastPathComponent
        print("Path - ",path)
})

, но при этом получают все PNG из всей папки, например - Example-1

Я бынравится получать изображения только внутри папки Fonts.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 09 февраля 2019

Вам нужно выполнить эти два шага, чтобы достичь своей цели.

  1. Передать имя папки в аргументе inDirectory.
    Примерно так:
    let pngs = Bundle.main.paths(forResourcesOfType: "png", inDirectory: "Fonts")

  2. Убедитесь, что каталог Fonts добавлен в проект как Folder Reference вместо Group.
    Selecting Folder References instead of Groups

Надеюсь, это поможет

0 голосов
/ 09 февраля 2019

Когда я смотрю на ваш код, я предполагаю, что вы хотите получить все пути к изображениям из папки Fonts из Bundle App Folder.В этом случае необходимо сделать папку «Шрифты» «Справочной папкой» (синий значок), а не «Папка группы» (желтый значок), например:
enter image description here

Вы можетеперетащите вашу папку в Навигатор проектов, она отобразит следующее поле:
enter image description here

Убедитесь, что выбрали «Создать ссылки на папки» и выберите цель проекта.

Причина в том, что Справочная папка является реальной папкой в ​​вашем Пакете.Все файлы в групповой папке будут сброшены, то есть все они находятся в корневом каталоге вашего пакета, тогда вы не будете знать родительскую папку этих файлов.

Затем вы можете использовать свой код для извлечения png (+ вы должны указать «Fonts» для параметра inDirectory):

(Bundle.main.paths(forResourcesOfType: "png", inDirectory: "Fonts") as NSArray).enumerateObjects({ obj, idx, stop in
    var path = (obj as! NSString).lastPathComponent
    print("Path - ",path)
})

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...