gpt4 book ai didi

ios - 如何在 swift 4 中对字典数组进行排序

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

这是我的 NSObject 类

class CustomDate: NSObject {
var quarter: Int!
var day: String!
var month: String!
var db: String!
var long: String!
var unix: Int!

init(quarter: Int, day: String, month: String, db: String, long: String, unix: Int) {
super.init()

self.quarter = quarter
self.day = day
self.month = month
self.db = db
self.long = long
self.unix = unix
}
}

我创建的用于存储 CustomDate 的变量

var dates = [CustomDate]()

我正在从字典中的 6 个键值对中的 json 获取数据,我想要的是,正如您所看到的,下面的照片正在打印日期和月份。但我需要按升序(或降序)对 json 数据进行排序。我该怎么做这是我的代码。我使用 alamofire 来获取数据,并创建一个 NSObject 类来存储数据

func apiData() {
Alamofire.request("https://api.lrs.org/random-date-generator?lim_quarters=40&source=api-docs", method: .get, parameters: nil, encoding: URLEncoding.default, headers: nil).responseJSON { (response:DataResponse<Any>) in

switch(response.result) {
case .success(_):
guard let json = response.result.value as? [String: Any] else { return }
guard let data = json["data"] as? [String: Any] else { return }

for (_, value) in data {
let dateValue = value as! [String: Any]
let date = CustomDate(quarter: dateValue["quarter"] as! Int,
day: dateValue["day"] as! String,
month: dateValue["month"] as! String,
db: dateValue["db"] as! String,
long: dateValue["long"] as! String,
unix: dateValue["unix"] as! Int)

self.dates.append(date)
}
print(self.dates)
break
case .failure(_):
print(response.result.error as Any)
break
}
}
}

例如照片

最佳答案

要按数字顺序比较字符串,请使用 localizedStandardCompare与 Finder 中的类似

dates.sort(by: {$0.month.localizedStandardCompare($1.month) == .orderedAscending})

compare带选项numeric

dates.sort(by: {$0.month.compare($1.month, options: .numeric) == .orderedAscending})
<小时/>

最好的解决方案可能是声明 monthInt .

关于ios - 如何在 swift 4 中对字典数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57257297/

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