Вы также можете добавить атрибут к вашей сущности, назвать его чем-то вроде «sortNum», и всякий раз, когда вы извлекаете вашу сущность, вы извлекаете его с помощью дескриптора сортировки.
Шаг 1
Добавьте атрибут сортировки, в данном случае я назвал его «displayOrder»
Шаг 2
Добавить или вставить новый элемент в ваш список.
let insertAt = 0
managedContextVar.insert(mngdObjectVar, atIndex: insertAt )
Шаг 3
Исправьте все в этом объекте и обновите значение сортировки.
func updateDisplayOrder() {
for i in 0..<taskList_Cntxt.count {
let task = taskList_Cntxt[i]
task.setValue( i, forKey: "displayOrder" )
}
}
Тогда сохраните!
Шаг 4
Теперь, когда вы в следующий раз сделаете запрос на выборку, обязательно добавьте в сортировку.
let sortDescriptor = NSSortDescriptor(key: "displayOrder", ascending: true )
Вот и все!
Это должно справиться с вашим видом довольно хорошо. Честно говоря, иногда этот код вставляет мои новые элементы сверху, а не сверху, но в 95% случаев этот код работает отлично. Независимо от того, вы поняли идею и можете настроить и улучшить ее.
Удачи.