ios - 获取调用的 JSON 函数时复制数据

标签 ios json swift alamofire swifty-json

我的问题是我在 ViewDidLoad() 上有函数 getData() ,当我切换到另一个 View 并返回到此 View 时,它会再次加载数据它复制了 tableView 上的我的数据。

var items = [Items]() 

func getData() {
        Alamofire.request(url, method: .get).validate().responseJSON { response in
            self.obj.helper.checkConnectivity()

            switch response.result {
            case .success(let value):
                let json = JSON(value)

                let jsonArray = json[].arrayValue
                for json in jsonArray {

                    let item = Items.fromJson(json: json)
                    self.items.append(item)
                }

            case .failure(let error):
                print(error)
            }
            self.tableView.reloadData()
        }
    }



struct Items {
    var id: Int
    var name: String

    static func fromJson(json: JSON) -> Items {
        return Items(
            id: json["id"].intValue,
            name: json["name"].stringValue,
    }
}

最佳答案

只需插入一行即可清除数组:

... 
  let jsonArray = json[].arrayValue
  self.items.removeAll()
  for json in jsonArray {
... 
<小时/>

或替换

for json in jsonArray {
    let item = Items.fromJson(json: json)
    self.items.append(item)
 }

self.items = jsonArray.map { Items.fromJson(json: $0) }

关于ios - 获取调用的 JSON 函数时复制数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45985492/

相关文章:

ios - 从 NSDictionary 获取信息

ios - SpriteKit 和 UISwipeGestureRecognizer

iphone - 如何在ios中绘制不规则形状的矩形并用四个针点填充颜色

iphone - iOS - 是否可以获取 iPhone 用户设置的背景图像?

javascript - 将服务器端 json 与 Highchart 结合使用

javascript - localStorage中的JS数据仅保存在一个键,值对中

iOS - Swift 3 共享扩展预览图像

ios - 如何在 react 中使用 RCTConvert

ios - 部署旧版本的 iOS 应用程序

node.js - 如何使用 AJV 为 JSON 类型定义 (JTD) 指定最大或最小数量?