appendingPathComponent не работает корректно swift 4 программно - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть эти строки кода, которые мне нужны для доступа к папкам, с помощью которых можно загружать изображения.сейчас не могу объяснить, почему они расставлены не в правильном порядке, нумерация папок мне кажется по порядку, но они загружаются по-разному

    static func loadStickers() -> [StickerCategory] {

    if let scat = StickersManager.stickerCategories {
        return scat
    }

    var sc:[StickerCategory] = []

    let iconsDir = Bundle.main.resourceURL!.appendingPathComponent("stickers").appendingPathComponent("icons")
    let stickersDir = Bundle.main.resourceURL!.appendingPathComponent("stickers").appendingPathComponent("actual")
    let fileManager = FileManager.default

    if let enumerator = fileManager.enumerator(atPath: iconsDir.path) {

        var currentStickers: [Sticker] = []
        var currentStickerCategoryName: String? = nil

        while let element = enumerator.nextObject() as? String {
            let iconPath = iconsDir.appendingPathComponent(element).path

            var isDir : ObjCBool = false
            if fileManager.fileExists(atPath: iconPath, isDirectory: &isDir) {
                if isDir.boolValue {
                    if let ccn = currentStickerCategoryName {
                        sc.append(StickerCategory(name: ccn, stickers: currentStickers))
                    }
                    currentStickers = []
                    currentStickerCategoryName = element
                } else {
                    let stickerPath = stickersDir.appendingPathComponent(element).path
                    currentStickers.append(Sticker(iconPath: iconPath, stickerPath: stickerPath))
                }
            }
        }
        if let ccn = currentStickerCategoryName {
            sc.append(StickerCategory(name: ccn, stickers: currentStickers))
        }
    }
    StickersManager.stickerCategories = sc
    return sc
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...