0

我正在尝试进行批量更新,但没有出现异常,但它告诉我 0 条记录已更新。如果我运行以下代码

let request = NSBatchUpdateRequest(entityName: "Order")
request.predicate = NSPredicate(format: "sql_ident IN %@", completed)
request.propertiesToUpdate = ["complete" : true]
request.resultType = .UpdatedObjectsCountResultType

do {                
    let res = try moc.executeRequest(request) as! NSBatchUpdateResult
    print("Set \(res.result!) objects to complete (should be \(completed.count))")
} catch let error as NSError {
    print("Error: \(error.localizedDescription)")
}                   

let r = NSFetchRequest(entityName: "Order")
r.predicate = NSPredicate(format: "sql_ident IN %@", completed)
let count = moc.countForFetchRequest(r, error: nil)
print("I found \(count) orders")

然后我得到这个输出:
Set 0 objects to complete (should be 6470)
I found 6470 orders

所以它肯定会看到我期望它看到的对象,但它没有更新它们中的任何一个。我在这里做错了什么?

如果有任何区别,这是在儿童环境中

4

0 回答 0