From 28aad04d05420cc19e271bebd9418f5be10f91b9 Mon Sep 17 00:00:00 2001 From: Chris Amanse Date: Fri, 4 Dec 2015 14:00:28 +0800 Subject: [PATCH 1/2] Conform NSDate to Comparable --- Foundation/NSDate.swift | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Foundation/NSDate.swift b/Foundation/NSDate.swift index 98b3abb831..ef29456a24 100644 --- a/Foundation/NSDate.swift +++ b/Foundation/NSDate.swift @@ -167,6 +167,17 @@ extension NSDate { } } +extension NSDate: Comparable {} +public func ==(lhs: NSDate, rhs: NSDate) -> Bool { + return lhs.isEqualToDate(rhs) +} +public func <(lhs: NSDate, rhs: NSDate) -> Bool { + let t1 = lhs.timeIntervalSinceReferenceDate + let t2 = rhs.timeIntervalSinceReferenceDate + + return t1 < t2 +} + extension NSDate : _CFBridgable { } extension CFDateRef : _NSBridgable { From 055584dcebecf868e1084e07ecb7197668f4b6c3 Mon Sep 17 00:00:00 2001 From: Chris Amanse Date: Fri, 4 Dec 2015 20:58:12 +0800 Subject: [PATCH 2/2] Reduce local variables Use timeIntervalSinceReferenceDate property directly instead of storing it in a local variable first --- Foundation/NSDate.swift | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Foundation/NSDate.swift b/Foundation/NSDate.swift index ef29456a24..6e3248a7d5 100644 --- a/Foundation/NSDate.swift +++ b/Foundation/NSDate.swift @@ -172,10 +172,7 @@ public func ==(lhs: NSDate, rhs: NSDate) -> Bool { return lhs.isEqualToDate(rhs) } public func <(lhs: NSDate, rhs: NSDate) -> Bool { - let t1 = lhs.timeIntervalSinceReferenceDate - let t2 = rhs.timeIntervalSinceReferenceDate - - return t1 < t2 + return lhs.timeIntervalSinceReferenceDate < rhs.timeIntervalSinceReferenceDate } extension NSDate : _CFBridgable { }