Convert Swift Dictionary to String

后端 未结 4 500
日久生厌
日久生厌 2021-02-02 06:10

For testing and debugging I am trying to put the content of Dictionary to a String. But have no clue hows it going to achieve. Is it possible? If yes, how.

Dictionary is

相关标签:
4条回答
  • 2021-02-02 06:23

    Jano's answer using Swift 5.1:

    let dic = ["key1": "value1", "key2": "value2"]
    let cookieHeader = dic.map { $0.0 + "=" + $0.1 }.joined(separator: ";")
    print(cookieHeader) // key2=value2;key1=value1
    
    0 讨论(0)
  • 2021-02-02 06:28

    You can just print a dictionary directly without embedding it into a string:

    let dict = ["foo": "bar", "answer": "42"]
    
    println(dict)
    // [foo: bar, answer: 42]
    

    Or you can embed it in a string like this:

    let dict = ["foo": "bar", "answer": "42"]
    
    println("dict has \(dict.count) items: \(dict)")
      // dict has 2 items: [foo: bar, answer: 42]
    
    0 讨论(0)
  • 2021-02-02 06:29

    Just use the description property of CustomStringConvertible as

    Example:

    Note: Prior to Swift 3 (or perhaps before), CustomStringConvertible was known as Printable.

    0 讨论(0)
  • 2021-02-02 06:31

    Dictionary to string with custom format:

    let dic = ["key1":"value1", "key2":"value2"]
    
    let cookieHeader = (dic.flatMap({ (key, value) -> String in
        return "\(key)=\(value)"
    }) as Array).joined(separator: ";")
    
    print(cookieHeader) // key2=value2;key1=value1
    
    0 讨论(0)
提交回复
热议问题