我有array
structs
。在struct
我有两个NSDate
个对象:prop1
和prop2
。我正在尝试从最新到最旧的日期/时间对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 }
在最后一行代码中,我收到以下错误:
无法使用类型'((_,_) - &gt; _)'
的参数列表调用'sort'
我做错了什么,我该如何解决?
答案 0 :(得分:1)
比较两个日期时,您必须使用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}