2015-01-28 3 views
2

Я хотел бы отсортировать tableview ячейки, которые загружают элементы данных ядра, к дате/времени создания элементов. Я попытался создать timeStamp, который хранится как атрибут, а затем подключить его к моему дескриптору сортировки, чтобы сортировать по этой метке времени, которая является NSDate. Как это:Сортировка табличных ячеек путем создания (swift)

//save timeStamp to core data 
newLog.timeStamp = NSDate() 

//retrieve that timeStamp in my tableviewcontroller 
var timeStamp = data.valueForKey("timeStamp") as NSDate 

//sort by the timeStamp in order to list the most recent items on top of tableview 

let sortDescriptor = NSSortDescriptor(key: "timeStamp", ascending: false) 
let sortDescriptors = [sortDescriptor] 
fetchRequest.sortDescriptors = [sortDescriptor] 

tableview В элементах не сортируется в любом разумном пути от того, что я могу сказать. Это похоже на то, что дескриптор сортировки не распознается. Опять же, дело в том, чтобы получить самые последние предметы, которые будут отображаться по порядку вверху списка.

+0

Можете ли вы описать, что происходит сейчас, что является проблемой? Что не работает над вашей текущей попыткой? –

+0

Да, похоже, что tableview даже не распознает дескриптор сортировки, потому что элементы в нем довольно полностью рандомизированы. – Leighton

ответ

2

Вы можете использовать метод сортировки массива;

yourArray.sort({$0.date.timeIntervalSinceNow < $1.date.timeIntervalSinceNow}) 

tableView.reloadData() если вам нужно перезагрузить таблицуView. Если это делается в viewDidLoad(), это не обязательно