gpt4 book ai didi

core-data - CoreData、NSManagedObject 获取或创建(如果不存在)

转载 作者:行者123 更新时间:2023-12-02 23:41:33 25 4
gpt4 key购买 nike

我正在尝试解析大量文本文件并将其内容组织为托管对象。文本文件中有很多重复项,因此“附带”任务之一就是删除它们。

在这方面我想做的是检查具有给定内容的实体是否存在,如果不存在,我将创建一个。但是,我有不同的实体,具有不同的属性和关系。我想要的是一种函数,它将许多属性作为输入并返回一个新的 NSManagedObject 实例,并且我不必担心它是否被插入到数据存储中或从中获取。

有吗?

我还必须说我是核心数据方面的菜鸟。

<小时/>

如果需要的话,可以提供更多详细信息:

我正在尝试写一种字典。我有单词 (Word{NSString *word, <<-> 规则规则})、规则 (Rule{NSString name, <->>Word word, <<->PartOfSpeech partOfSpeech, <<-> Endingendings})、零件语音 (PartOfSpeech{NSString name, <<-> Rule 规则})(我希望符号是清晰的)。

如果两个单词具有相同的单词属性,并且“链接”到相同的规则,则它们相等。如果两个规则具有相同的结尾和词性,则它们是相同的。

到目前为止,我已经编写了一种方法,该方法将 NSPredicate、NSManagedObjectContext 和 NSEntityDescription 作为输入,首先查询数据存储区,如果找到一个实体,则返回一个实体,或者创建一个新实体,将其插入数据存储区并返回它。但是,在这种情况下,我无法使用必要的数据填充新实体(在该方法内),因此我必须传递一个包含属性名称及其值的 NSDictionary 并插入它们,或者通过引用返回一个标志,以确定是否我创建了一个新对象或返回了一个旧对象,以便我可以用外部数据填充它。

但是看起来有点丑。我确信一定有比这更优雅的东西,我只是找不到它。如果可以,请你帮助我。

最佳答案

你基本上走在正确的道路上。核心数据是一个对象图。没有太多的内置动态。也没有“upsert”。正如您猜测的那样,您必须获取它,如果它不存在,则插入一个。

关于core-data - CoreData、NSManagedObject 获取或创建(如果不存在),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5093950/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com