我正在尝试通过CoreData筛选匹配的名称,如果存在,请忽略它,否则将新名称添加到Core Data。我遇到的问题应该是一个简单的问题,但我不太清楚。

here's a link to a shot of my code

我的coredata中的值是String类型的“ trackName”,但我不断收到以下异常:

由于未捕获的异常'NSUnknownKeyException'而终止应用程序,原因:'[valueForUndefinedKey:]:此类与键trackName的键值编码兼容。

我应该如何进行?不清楚提取请求是针对字符串的吗?

最佳答案

您正在value(forKey:)的实例上调用NSFetchRequest,但是该键仅为代表您的NSManagedObject实体的Track实例定义。

提取请求是代表核心数据查询的对象。根据您的代码,我假设您正在尝试确保trackName属性在所有Track实体之间都是唯一的。您需要execute()提取请求,并检查以确保该方法返回的数组为空。

10-08 12:27