gpt4 book ai didi

ios - 排序数组给我错误

转载 作者:可可西里 更新时间:2023-11-01 02:19:12 25 4
gpt4 key购买 nike

我有一个结构数组。在 struct 中,我有两个 NSDate 对象:prop1prop2。我正在尝试将 prop1 从最新到最旧的日期/时间排序。我希望 prop2 也可以根据 prop1 进行排序。 (我也想反之亦然。)

struct Item {
let prop1 : NSDate
let prop2 : NSDate
}

var myItem = [Item]()

myItem.insert(Item(prop1: myDateSecond, prop2: anotherDateSecond), atIndex: 0)
myItem.insert(Item(prop1: myDateThird, prop2: anotherDateThird), atIndex: 0)
myItem.insert(Item(prop1: myDateFirst, prop2: anotherDateFirst), atIndex: 0)

myItem.sort { $0.prop1 < $1.prop1 }

在代码的最后一行,我得到以下错误:

Cannot invoke 'sort' with an argument list of type '((_, _) -> _)'

我做错了什么,我该如何解决?

最佳答案

当比较两个日期时,你必须使用 NSDate 方法 compare :

struct Item {
let prop1 : NSDate
let prop2 : NSDate
}

var myItem = [Item]()

myItem.insert(Item(prop1: myDateSecond, prop2: anotherDateSecond), atIndex: 0)
myItem.insert(Item(prop1: myDateThird, prop2: anotherDateThird), atIndex: 0)
myItem.insert(Item(prop1: myDateFirst, prop2: anotherDateFirst), atIndex: 0)

myItem.sort{$0.prop1.compare($1.prop1) == NSComparisonResult.OrderedAscending}

关于ios - 排序数组给我错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32303054/

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