Arrays 在Swift中对NSDate对象的一维数组进行排序
Swift 2中是否有任何函数可以按升序或降序对Arrays 在Swift中对NSDate对象的一维数组进行排序,arrays,swift,sorting,swift2,nsdate,Arrays,Swift,Sorting,Swift2,Nsdate,Swift 2中是否有任何函数可以按升序或降序对NSDate的一维数组进行排序,而无需编写自己的排序算法 我尝试了以下方法,但不幸的是,无法用于比较两个NSDate对象 var array = [NSDate]() array.sort { $0 < $1 } var数组=[NSDate]() array.sort{$0
NSDate
的一维数组进行排序,而无需编写自己的排序算法
我尝试了以下方法,但不幸的是,
无法用于比较两个NSDate对象
var array = [NSDate]()
array.sort { $0 < $1 }
var数组=[NSDate]()
array.sort{$0<$1}
好的,一种方法是:
public func <(lhs: NSDate, rhs: NSDate) -> Bool {
return lhs.compare(rhs) == .OrderedAscending
}
public func Bool{
返回lhs.compare(rhs)=.OrderedAscending
}
然后只需按照您的要求对日期进行排序:
var array = [NSDate]()
array.sort { $0 < $1 }
var数组=[NSDate]()
array.sort{$0<$1}
好的,一种方法是:
public func <(lhs: NSDate, rhs: NSDate) -> Bool {
return lhs.compare(rhs) == .OrderedAscending
}
public func Bool{
返回lhs.compare(rhs)=.OrderedAscending
}
然后只需按照您的要求对日期进行排序:
var array = [NSDate]()
array.sort { $0 < $1 }
var数组=[NSDate]()
array.sort{$0<$1}
您还可以通过声明NSDate
符合Comparable
,进一步了解pacification的答案:
public func ==(lhs: NSDate, rhs: NSDate) -> Bool {
return lhs.isEqualToDate(rhs)
}
public func <(lhs: NSDate, rhs: NSDate) -> Bool {
return lhs.compare(rhs) == .OrderedAscending
}
extension NSDate: Comparable { }
您还可以通过声明NSDate
符合Comparable
,进一步了解pacification的答案:
public func ==(lhs: NSDate, rhs: NSDate) -> Bool {
return lhs.isEqualToDate(rhs)
}
public func <(lhs: NSDate, rhs: NSDate) -> Bool {
return lhs.compare(rhs) == .OrderedAscending
}
extension NSDate: Comparable { }
t对于NSObject
,已经有一个==
操作符,没有必要为子类(如NSDate
)实现它。@MartinR,你是对的。NSObject
已经有一个=
操作符,没有必要为子类(如NSDate
)实现它。@MartinR,你是对的