首页 > 解决方案 > 从 for 循环外部访问数据

问题描述

我正在遍历 JSON 数据并获取数据并将其分配给全局变量,当我在循环内打印变量时,我得到了所有数据,但是,当我在循环外打印变量时,我只得到最后一个来自 JSON 对象的数据片段。我的目标是获取数据并将其作为函数的参数传递。如何获取循环外的所有数据?

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

标签: iosarraysswiftfor-loop

解决方案


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

self.stockParam = [info.symbol]

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

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

或者干脆使用地图功能:

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

推荐阅读