Ios 如何检查二进制数据(图像)是否已保存在核心数据中?

Ios 如何检查二进制数据(图像)是否已保存在核心数据中?,ios,swift,core-data,Ios,Swift,Core Data,我有一个名为ActionImage的核心数据表,其中包含字段image和actionid,现在我想检查我要保存的新图像是否已经保存了带有actionid的图像。我有这段代码来检查其他值,但它不能处理二进制数据 class func valueExistWhere(key:String, value:Any) -> Bool { let fetchRequest:NSFetchRequest<ActionImage> = ActionImage.fetchRequ

我有一个名为ActionImage的核心数据表,其中包含字段image和actionid,现在我想检查我要保存的新图像是否已经保存了带有actionid的图像。我有这段代码来检查其他值,但它不能处理二进制数据

class func valueExistWhere(key:String, value:Any) -> Bool {
        let fetchRequest:NSFetchRequest<ActionImage> = ActionImage.fetchRequest()
        let predicate = NSPredicate(format: "\(key)=\(value)")
        var data:[ActionImage] = []
        fetchRequest.predicate = predicate
        fetchRequest.fetchLimit = 1
        do{
            data = try CoreDataStack.getContext().fetch(fetchRequest)

            if(data.count > 0)
            {
                return true
            }
            else
            {
                return false
            }
        }
        catch{
            print("Error: \(error)")
            return false
        }
    }
class func valueExistWhere(键:字符串,值:任意)->Bool{
let fetchRequest:NSFetchRequest=ActionImage.fetchRequest()
let谓词=NSPredicate(格式:“\(键)=\(值)”
变量数据:[ActionImage]=[]
fetchRequest.predicate=谓词
fetchRequest.fetchLimit=1
做{
data=尝试CoreDataStack.getContext().fetch(fetchRequest)
如果(data.count>0)
{
返回真值
}
其他的
{
返回错误
}
}
抓住{
打印(“错误:\(错误)”)
返回错误
}
}

谓词格式只是一个字符串。它的构造方式有一个严格的定义,不能只是输入值并期望它工作(尽管它经常工作)

改变

let predicate = NSPredicate(format: "\(key)=\(value)")

let predicate = NSPredicate(format: "%K = %@", key, value)