我在核心数据中存储了一个新条目,如下所示:
let context = self.fetchedResultsController.managedObjectContext
let entity = self.fetchedResultsController.fetchRequest.entity!
let newManagedObject = NSEntityDescription.insertNewObjectForEntityForName(entity.name!, inManagedObjectContext: context) as! NSManagedObject
newManagedObject.setValue("Test1", forKey: "name")
// Save the context.
var error: NSError? = nil
if !context.save(&error) {
abort()
}
我的问题是如何在没有UITableViewCell的indexPath的情况下删除条目(例如Test1
)?
更新:
fetchRequest:
let context = self.fetchedResultsController.managedObjectContext
let fetchRequest = NSFetchRequest(entityName:"Person")
fetchRequest.predicate = NSPredicate(format: "name = %@", name)
var error : NSError?
let results = managedObjectContext!.executeFetchRequest(fetchRequest, error:&error)
答案 0 :(得分:3)
在您的情况下,您可以通过执行以下操作删除对象:
context.deleteObject(newManagedObject)
如果您需要从代码中的某个位置删除对象,而该对象中没有对托管对象本身的引用,则可以基于例如在其名称属性上,然后将其删除。
这是您获取名称与name
匹配的所有MO的方法:
let fetchRequest = NSFetchRequest(entity: entityName)
fetchRequest.predicate = NSPredicate(format: "name == %@", name)
let results = context.executeFetchRequest(fetchRequest, error: &error)