我无法在第一个索引处插入元素CoreData
let appDelegate =
UIApplication.sharedApplication().delegate as! AppDelegate
let managedContext = appDelegate.managedObjectContext
let entity = NSEntityDescription.entityForName("Thing",
inManagedObjectContext:managedContext)
let thing = NSManagedObject(entity: entity!,
insertIntoManagedObjectContext: managedContext)
thing.setValue(name, forKey: "name")
thing.setValue(category, forKey: "category")
do {
try managedContext.save()
} catch let error as NSError {
}
如何在索引0处插入thing
?是否有可能或者我必须重写所有数据?谢谢!
答案 0 :(得分:0)
您无法在特定索引处插入新的name
。商店中保存的订单是CoreData和SQLite要管理的。您应该确保按照所需的顺序获取对象。这是通过为您的获取请求指定排序描述符(NSSortDescriptor)来完成的。因此,如果您想要let nameSort = NSSortDescriptor(key:"name", ascending:true)
fetchRequest.sortDescriptors = [nameSort]
订购的商品,您可以使用:
fcntl(fd, F_SETFL, 0)
如果您需要其他排序顺序,请根据需要向实体添加属性以表示该排序顺序,并为您创建的每个对象设置适当的值。