首页 > 解决方案 > 如何按字母顺序对 ARKit 模型进行排序 - Swift

问题描述

我正在尝试了解 ARKit 并增加可以在此处找到的苹果 ARKitInteraction 示例。但是,我的模型正确加载,对象未按字母顺序列出。我已将我的对象按顺序放置在 models.scnassets 中,但这似乎并不能解决问题。

假设型号名称为:A、B、C、D、E 该列表的排序如下:E、A、B、D、C

我将如何对模型的顺序进行排序?

模型名称来自这里:

var modelName: String {
    return referenceURL.lastPathComponent.replacingOccurrences(of: ".scn", with: "")
}

并且模型对象正在从这里加载:

static let availableObjects: [VirtualObject] = {

    let modelsURL = Bundle.main.url(forResource: "Models.scnassets", withExtension: nil)!
    let fileEnumerator = FileManager().enumerator(at: modelsURL, includingPropertiesForKeys: [])!

    return fileEnumerator.compactMap { element in
        let url = element as! URL

        guard url.pathExtension == "scn" && !url.path.contains("lighting") else { return nil }

        return VirtualObject(url: url)
    }
}()

标签: iosswiftarkit

解决方案


推荐阅读