diff --git a/Classes/Milestones/GithubClient+Milestones.swift b/Classes/Milestones/GithubClient+Milestones.swift index be78bbe5..0c41e676 100644 --- a/Classes/Milestones/GithubClient+Milestones.swift +++ b/Classes/Milestones/GithubClient+Milestones.swift @@ -25,7 +25,18 @@ extension GithubClient { milestones.append(milestone) } } - milestones.sort { $0.number < $1.number } + milestones.sort { lhs, rhs in + switch (lhs.dueOn, rhs.dueOn) { + case (let lhsDue?, let rhsDue?): + return lhsDue.compare(rhsDue) == .orderedAscending + case (_?, nil): + return true + case (nil, _?): + return false + default: + return lhs.title < rhs.title + } + } completion(.success(milestones)) } else { completion(.error(response.error))