为Swift格式化NSArray

问题描述 投票:-2回答:1

所以格式化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)"

output image当我运行程序时,TempLabel仅显示“(”,因为它是NSArray形式。我不确定如何摆脱“(”或将它们转换为其他变量。是否可以删除“(”并显示“ 63”?

ios swift nsarray
1个回答
0
投票

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

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

尝试这样的事情:

let temp = json.value(forKeyPath: "data.current_condition.temp_F") as! [Int]
TempLabel.text = temp.map({ "\($0)" }).joined(separator: ", ")
© www.soinside.com 2019 - 2024. All rights reserved.