我有以下几行代码需要访问用于上传图像的文件夹。现在我无法解释为什么它们的排列顺序不正确,在我看来文件夹的编号是顺序排列的,但是它们的加载方式却不同
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
}