所以格式化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”?
使用对象的描述将其显示在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: ", ")