为 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: ", ")
我在格式化 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: ", ")