2015-10-26 40 views
0

我想按日期排序我的数组,我一直尝试几乎所有东西,但没有结果。SWIFT 2 - 按日期排序多维数组

这是我得到的接近,但我得到了华林:

常量 'sortedDate' 推断为有型()

var Names = [[String]]() 

Names = [ 
      ["aaa", "bob", "ccc", "26-10-2015 17:50"], 
      ["aaa-1", "bbb-1", "ccc-1", "22-10-2015 11:20"], 
      ["aaa-2", "bbb-2", "bbb-2", "01-03-2015 17:00"] 
     ] 

let sortedDate = Names.sortInPlace({ return $0[3].compare($1[3]) == NSComparisonResult.OrderedAscending }) 

     print("\(sortedDate)") 
+0

您使用我给你你刚才的问题的解决方案,但你有没有接受我的答案。我现在有什么动力来帮助你? – matt

+0

嘿马特我打算接受它我沉浸在尝试所有的代码..完成! – SNos

回答

1

您的数据String,没有日期。使用一个NSDateFormatter将其转换为NSDate

let names = [ 
    ["aaa", "bob", "ccc", "26-10-2015 17:50"], 
    ["aaa-1", "bbb-1", "ccc-1", "22-10-2015 11:20"], 
    ["aaa-2", "bbb-2", "bbb-2", "01-03-2015 17:00"] 
] 

let formatter = NSDateFormatter() 
formatter.dateFormat = "dd-MM-yyyy HH:mm" 

let sortedDate = names.sort { 
    let date1 = formatter.dateFromString($0[3]) 
    let date2 = formatter.dateFromString($1[3]) 
    return date1?.timeIntervalSince1970 < date2?.timeIntervalSince1970 
} 
+0

谢谢,这是行之有效的,但是,我怎样才能按降序排列日期?使用'>'失败 – SNos