首页 > 解决方案 > 初始化 Array 之前使用的 Swift 变量

问题描述

所以我试图捕捉一个 GET 请求并且该功能工作正常。它得到一个 JSON 数组,我想在 Swift 中将它初始化为一个数组,以便它在 iOS 应用程序中显示为一个列表。

问题在于从函数返回数组。

func getAllPayments() -> [Payment]{
    var payment: [Payment]
    if let url = URL(string: "http://url/payment") {
       URLSession.shared.dataTask(with: url) { data, response, error in
          if let data = data {
              do {
                 let res = try JSONDecoder().decode([Payment].self, from: data)
                for pay in res{
                    payment.append(pay)
                }
                return
              } catch let error {
                 print(error)
              }
           }
       }
    }
    return payment
}

它给出了两个错误:

首先符合 URLSession 函数 -> 在初始化之前由闭包捕获的变量“付款”

符合返回语句的第二个 -> 在初始化之前使用的变量“付款”

我知道 Swift 使用两个初始化阶段,但我仍然无法让它工作。

标签: arraysjsonswiftrestinitialization

解决方案


推荐阅读