ios - 如何以特定顺序显示数组中的项目?

标签 ios arrays swift

<分区>

有些项目基于 JSON 中的顺序,如果它们的 bool 为真,则需要按该特定顺序返回:

"items": {
    "item1": true,
    "item2": true,
    "item3": true,
    "item4": true,
    "item5": true,
    "item6": true
}

然后这些项目需要在 Collection View 中按顺序显示它们对应的图像。将这些项目添加到数组后,是否有办法以正确的顺序获取这些项目?

这是我现在使用的功能,它可以工作,但顺序不同:

var appMenuJSON: NSDictionary?
var menuButtonsArray: [String?] = []

func getItems(){
    guard let items = appMenuJSON else {return}            
        for (key, value) in items {
            if let val = value as? Bool, val == true {
                menuButtonsArray.append(key as! String)
            }

}

最佳答案

好吧,一旦您将 JSON 解码为 NSDictionary,您就无法以与 JSON 字符串中相同的顺序取回项目。

因此,要么使用 Array(items).sort(参见 Sort Dictionary by keys)再次对条目进行排序,要么对您的 JSON 数组进行自定义解析以获取原始顺序。

关于ios - 如何以特定顺序显示数组中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45549943/

相关文章:

IOS:在 self.view 的一半中双击手势

java - 数组排序不起作用,不存在变量 T 的实例,因此 Employee 符合 Comparable

python - 生成 datetime.time 对象数组 python

json - 在 Swift 中获取特定的 json 数据

ios - 从名字中获取首字母并将其限制为 2 个首字母

ios - 如何在数组中传递这种格式字典中的数据

PHP等于foreach循环中的箭头运算符

swift - iOS 10. 核心数据插入新对象 sigABRT

ios - 如何从 UI 测试中的标签检索变量数据

ios - 我需要将 *Prefix.pch checkin 源代码控制系统吗?