我正在尝试通过我的CoreData过滤匹配的名称,如果存在则忽略它,或者将新名称添加到核心数据。我遇到的问题应该是一个简单的问题,但我无法弄明白。
here's a link to a shot of my code
我的coredata中的值是" trackName"类型为String,但我一直得到以下异常:
由于未捕获的异常终止应用程序' NSUnknownKeyException',原因:' [valueForUndefinedKey:]:此类不是键值trackName的键值编码兼容。'
我该怎么办?是否不清楚获取请求是否为字符串?
答案 0 :(得分:0)
您正在value(forKey:)
的实例上调用NSFetchRequest
,但该密钥仅针对代表您的NSManagedObject
实体的Track
个实例定义。
获取请求是表示核心数据查询的对象。根据您的代码,我假设您正在尝试确保trackName
属性在所有Track
实体中都是唯一的。您需要execute()
获取请求并检查以确保该方法返回的数组为空。
答案 1 :(得分:0)
请将您的代码更新为此代码并尝试
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")
}