删除核心数据条目无法调用' deleteObject'参数列表为'([AnyObject]?)'

时间:2015-08-08 22:02:43

标签: swift core-data predicate

当我尝试从项目中删除核心数据条目时,我遇到了错误

cannot invoke 'deleteObject' with an argument list of '([AnyObject]?)'

我认为这基本上要求我投射对象但是当我尝试这个时,我得到同样的错误。我的代码如下:

let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate
let context = appDelegate.managedObjectContext
var error:NSError? = nil
let request = NSFetchRequest(entityName: projectEntityName)
let pred = NSPredicate(format: "projectName = %@", projectName)
                request.predicate = pred
let objects = context?.executeFetchRequest(request, error: &error)
if let objectList = objects {
   for thisProject in objectList {
      thisProject.deleteObject(objects)
   }
}
appDelegate.saveContext()

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

使用as

thisProject.deleteObject(objects as! [type])

答案 1 :(得分:0)

你的变量混乱了。 deleteObject是NSManagedObjectContext的一种方法,您将要删除的对象作为参数传递:

if let objectList = objects {
   for thisProject in objectList {
      context!.deleteObject(thisProject)
   }
}