如何在 Swift 中维护 Dictionary 中数据的顺序?

Posted

技术标签:

【中文标题】如何在 Swift 中维护 Dictionary 中数据的顺序?【英文标题】:How to maintain the order of the data in Dictionary in Swift? 【发布时间】:2019-12-23 07:33:54 【问题描述】:

我想按顺序显示数据。我将 json 字符串作为响应并转换为字典。转换字典后我无法维持顺序。 我知道我们使用字典时不能保证顺序。 如何维护数据的实际顺序。

注意:我无法对密钥进行硬编码,因为数据来自服务器响应。

      func setupData(responseString : String)
      
           // Convert string to dictionary for extracting the keys and values
           // Need to maintain the order while adding the data
           let content = convertToDictionary(text: responseString)
           var text : String = ""
           if let contentDataDict = content
           
                 for (key, value) in  contentDataDict
                 
                      // want to append the key and values in the sequence order
                        content +=  \(key) \n \(value)
                  

            
            textView.attributedText = text.htmlToAttributedString

      

【问题讨论】:

创建一个字典数组并使用它 【参考方案1】:

简答:

你不能在Dictionary维护秩序。

长答案:

苹果说:

字典是键值关联的无序集合。

请参考this

要保持顺序,您需要使用Array 或从Dictionary 创建sorted Array(升序、降序或使用特定键)并使用它。

谢谢。

【讨论】:

以上是关于如何在 Swift 中维护 Dictionary 中数据的顺序?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用swift在字典中添加多个参数[String,Dictionary]?

如何在 Swift 中检索 NSURLRequest 的 HTTPBody 参数到 Dictionary: [NSObject: AnyObject]

如何将 swift Dictionary 转换为 NSDictionary

如何改变 Swift Dictionary of Dictionary

如何将 JSON 转换为 Swift Dictionary 以进行 HTTP POST

使用 ObjectMapper 在 Dictionary Swift 中解析 Dictionary