gpt4 book ai didi

arrays - Swift - 排序数组类似于另一个

转载 作者:行者123 更新时间:2023-11-28 09:41:03 24 4
gpt4 key购买 nike

在我的表格 View 中,我从这些数组中获取显示的数据:

var offersProduct = [String]()
var offersPrice = [String]()
var savings = [String]()
var shops = [String]()
var imageNames = [String]()
var exDates = [Int]()
var pickedIDs = [String]()
var setDates = [Int]()

目前数据未以任何方式排序。所以我有 2 个问题。

  1. 如何根据日期对数组进行排序?最接近 NSDate 的优先。

我有 exDates 数组,女巫是 timeIntervalSince1970 的 Int 数组。所以我想要最近的到期日期来获取数组的索引 0。

  1. 如何像第一个数组一样对其他数组进行排序?

假设我已经对 exDates 数组进行了排序,这给我带来了另一个问题,因为现在显示的到期日期与其他数组中的数据不匹配。因此,我需要通过将数据从与 exDates 数组中相同的索引移入,以某种方式对其他数组进行排序。怎么办?

希望有人能帮忙。

最佳答案

您的问题是您在应该使用单个/统一实体的地方使用单独的实体。要实现您正在尝试的目标,您应该切换到使用包含所有关联数据的 classstruct 。如果您继续使用当前采用的方法,您肯定会遇到任意错误并执行枯燥的操作来同步所有阵列中的数据。因此,从本质上讲,使用多个数组而不是一个专门对象数组是一种不好的做法

考虑重构你的数组:

struct Entity {
var offerProduct : String
var offerPrice : String
var savings : String
var shop : String
var imageName : String
var exDate : Int
var pickedID : String
var setDate : Int
}

var entities = [Entity]()

然后要对单个实体数组(一旦填满)进行排序,您只需设置必要的条件,例如:

entities = entities.sorted(by: {$0.exDate > $1.exDate })

关于arrays - Swift - 排序数组类似于另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47450528/

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