我正在迭代JSON数据,获取数据并将其赋值给一个全局变量,当我在循环内打印变量时,我得到了所有数据,然而,当我在循环外打印变量时,我只得到了JSON对象的最后一些数据。我的目标是获取数据并将其作为函数的参数传递。我如何获取循环之外的所有数据?
var stockParam = [String]()
for info in stockInfo {
self.stockParam = [info.symbol]
print("inside \(stockParam)")
}
print("outside \(stockParam)")
fetchProfileData(stock: stockParam)
这是因为您将stockParam设置为一个元素(info.symbol)的数组:
self.stockParam = [info.symbol]
要在stockParam数组中保存所有信息符号,您必须在每次迭代时追加元素:
for info in stockInfo {
self.stockParam.append(info.symbol)
}
或者干脆使用映射函数:
var stockParam = stockInfo.map {$0.symbol}