Ios NSPredicate和CoreData密钥编码符合性问题
我试图通过CoreData筛选匹配的名称,如果存在,则忽略它,或者将新名称添加到Core Data。我遇到的问题应该很简单,但我不能完全弄明白 我的coredata中的值是String类型的“trackName”,但我一直得到以下异常: 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[valueForUndefinedKey:]:此类不符合key trackName的键值编码。”Ios NSPredicate和CoreData密钥编码符合性问题,ios,swift,core-data,Ios,Swift,Core Data,我试图通过CoreData筛选匹配的名称,如果存在,则忽略它,或者将新名称添加到Core Data。我遇到的问题应该很简单,但我不能完全弄明白 我的coredata中的值是String类型的“trackName”,但我一直得到以下异常: 由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[valueForUndefinedKey:]:此类不符合key trackName的键值编码。” 我应该如何进行?是否不清楚提取请求是针对字符串的?您正在对NSFetchR
我应该如何进行?是否不清楚提取请求是针对字符串的?您正在对
NSFetchRequest
的实例调用value(forKey:)
,但该键仅为表示跟踪
实体的NSManagedObject
实例定义
获取请求是表示核心数据查询的对象。根据您的代码,我假设您正在尝试确保
trackName
属性在所有Track
实体中都是唯一的。您需要execute()
获取请求并检查以确保该方法返回的数组为空 请将您的代码更新到此代码,然后重试
if result == nil {
//result is null because you entered string is not found the valueForkey is also not found in your result
print("new entry")
}else{
print("added")
}
不要张贴图片。邮政编码!解决方案非常简单,但没有人愿意从截图中重新键入代码。感谢您的反馈!下次我(不可避免地)请求更多帮助时,我会发布代码hahaThanks@Davewston,这真的很有帮助。你是对的,我试图确保如果“trackName”已经存在,我没有输入重复的轨迹实体。因为我不熟悉核心数据(老实说,通常是编码),所以我不清楚如何访问查询中检索到的位