gpt4 book ai didi

arrays - 比较两个包含自定义 Swift 对象的数组之间的数据

转载 作者:行者123 更新时间:2023-11-30 11:27:04 26 4
gpt4 key购买 nike

我有一些通过 API 收到的数据,这些数据将 JSON 返回给我。我知道我可以获取它并将相关信息从 API 存储到我的 iOS 应用程序中。但仅限于应用程序运行时。 IE。我还没有实现如何将从 API 获取的信息存储到 UserDefalults 中。在开发此功能时我遇到了问题。

我有两个数组来跟踪我的数据。第一个数组是我在获取数据时想要存储在 UserDefaults 中的数组。这个称为“贷方”并保留 LenderData第二个数组是我的临时数组。它包含相同类型的对象,这就是我想要用 API 中的数据填充的对象,然后与我现有的数组“贷方”进行比较。

我想检查“lenders”数组是否包含与我在“lendersTemp”数组中查看的对象具有相同 id 的任何对象。如果贷方数组不包含任何具有我们当前正在查看的 tempLender id 的 LederData 对象,我们将 tempLender 添加到贷方数组中。我该如何去做呢?

我当前(无效)的解决方案如下:

var lenders = [LenderData]()
var lendersTemp = [LenderData]()

...
// Get JSON DATA
...

for tempLender in self.lendersTemp {
if !self.lenders.contains(where: {$0.id == tempLender.id}) {
self.lenders.append(tempLender)
}
}

编辑:我的 View 确实加载了方法:

var lenders = [LenderData]()
var lendersTemp = [LenderData]()

override func viewDidLoad() {
super.viewDidLoad()

downloadJSON {
self.myTableView.reloadData()
}

self.myTableView.rowHeight = 90
myTableView.delegate = self
myTableView.dataSource = self
}

最佳答案

在一些帮助下我弄清楚了!这就是我对自己问题的回答!

我的问题是从 API 获取数据是通过异步方法完成的。我尝试在 TableView 上调用 reload 方法后进行比较。因此,在调用 reloadData() 之前,我没有填充 tableview 从中获取数据的数组,因此看起来我的 tableview 和比较算法不起作用,而事实上它确实起作用!

关于arrays - 比较两个包含自定义 Swift 对象的数组之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50628772/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com