0
我想在coreData中保存moveRowAt上的对象列表。我将数据保存在一个单例中,并且它的顺序很好,但是当我更新Core Data时,它永远不会保存,而且顺序也是错误的。核心数据更新结果值
func changeKrakenPosition(source: Int, destiny: Int){
let context = appDelegate.persistentContainer.viewContext
do {
var results = try context.fetch(fetchRequest)
var source = source
var destiny = destiny
var destinyItem = results[destiny]
var sourceItem = results[source]
if source < destiny {
var dif = destiny - source
for i in 0...dif {
if i != dif {
var krakenCoreDataToMove = results[source+1]
results[source] = krakenCoreDataToMove
source += 1
} else {
results[source] = destinyItem
}
}
results[destiny] = sourceItem
} else if destiny < source {
var dif = source - destiny
for i in 0...dif {
if i != dif{
var krakenCoreDataToMove = results[source-1]
results[source] = krakenCoreDataToMove
source -= 1
} else {
results[source] = destinyItem
}
}
results[destiny] = sourceItem
} else {
//Moved to same position
}
var resultKra = results as! [Kraken]
for res in resultKra {
print("name: \(res.name) age \(res.age)")
}
do {
try context.save()
}catch{
//Handle Error
}
} catch {
print("Error with request: \(error)")
}
}
首次效果很好,但从来没有保存,我再次进入,我谨新的第一项到最后一个位置,这是什么情况
保存在CoreData我认为会解决这个问题,但任何帮助或解决方案将是伟大的。
感谢秩序的解决方案,我希望做我保存奉命进入情境的新成果,并保持我的数据,我不知道有没有修改的结果阵列获取或我必须做别的东西,但我不能保存到核心数据 –
请检查这个职位。 https://stackoverflow.com/questions/11600571/what-is-the-best-way-to-sort-a-core-data-entity – Alexkater