为 Swift 格式化 NSArray

Formatting NSArray for Swift

我在格式化 NSArray 时遇到问题

let temp = json.value(forKeyPath: "data.current_condition.temp_F") as Any
                                                  
                            DispatchQueue.main.async {
                                self.setWeather(temp: temp as! NSArray  )
                              }
func setWeather(  temp: NSArray) {
          TempLabel.text = "\(temp)"

当我 运行 程序 TempLabel 只显示“ (”,因为它是 NSArray 形式。我不确定如何摆脱“(”。

使用对象的描述在 UI 上显示它是非常脆弱的,并且可能在 iOS 内部随时更改。

我会尝试将 json 值的结果转换为 Swift 类型。在您的情况下 [Int] 应该可以。然后使用其中一种集合方法将Int数组转换为String。

尝试这样的事情:

let temp = json.value(forKeyPath: "data.current_condition.temp_F") as! [Int]
TempLabel.text = temp.map({ "\([=10=])" }).joined(separator: ", ")