Core data 是否可以使用Graph更新保存到数据库中的实体?

Core data 是否可以使用Graph更新保存到数据库中的实体?,core-data,graph,swift3,cosmicmind,Core Data,Graph,Swift3,Cosmicmind,为了正确保存数据,我正在使用图形库。 我想知道,是否有一种方法可以更新现有的实体,而不必重复实体2次:用户只允许更新实体的两个值。 另外,我想知道是否有合适的保存方法 我给你举个例子 let person = Entity(type: "Person") person["name"] = //not editable person["work"] = //editable person["age"] = //editable graph.sync() //or some

为了正确保存数据,我正在使用图形库。 我想知道,是否有一种方法可以更新现有的实体,而不必重复实体2次:用户只允许更新实体的两个值。 另外,我想知道是否有合适的保存方法

我给你举个例子

let person = Entity(type: "Person")
    person["name"] = //not editable
    person["work"] = //editable
    person["age"]  = //editable
graph.sync() //or something like graph.update
写这篇文章,我只是创建了一个新的实体,这不是我想要的。也许,我必须搜索实体,每次都删除它,然后插入新的实体?希望不是


谢谢你能给予的任何帮助

是的,您可以更新实体

您需要首先搜索要更新的。例如:

let graph = Graph()
let search = Search<Entity>(graph: graph).for(types: "Person")
for entity in search.sync() {
    // do something
}
从那里,您需要调用
graph.sync()
graph.async()
,以便保存所有内容


就是这样:)

我正在快速阅读这个图表,并想知道在这种情况下,请原谅一个noob问题,但从SQL的角度来看,搜索是否允许直接指向上面提到的某个人的特定实例?因此,我们是否可以将代码设置为仅搜索name=“drew”例如?是的,您可以使用properties参数:
Search(图形:graph)。对于(类型:“Person”)。其中(属性:(“name”,“drew”)
entity["name"] = "Daniel"