提问者:小点点

从for循环外部访问数据


我正在迭代JSON数据,获取数据并将其赋值给一个全局变量,当我在循环内打印变量时,我得到了所有数据,然而,当我在循环外打印变量时,我只得到了JSON对象的最后一些数据。我的目标是获取数据并将其作为函数的参数传递。我如何获取循环之外的所有数据?

var stockParam = [String]()
for info in stockInfo {
   self.stockParam = [info.symbol]
   print("inside \(stockParam)")
 }
             
  print("outside \(stockParam)")
fetchProfileData(stock: stockParam)

共1个答案

匿名用户

这是因为您将stockParam设置为一个元素(info.symbol)的数组:

self.stockParam = [info.symbol]

要在stockParam数组中保存所有信息符号,您必须在每次迭代时追加元素:

for info in stockInfo {
    self.stockParam.append(info.symbol)
 }

或者干脆使用映射函数:

var stockParam = stockInfo.map {$0.symbol}