我有两个实体,一个是“Object”,另一个是“Logo”,他们有一对一的关系。当我添加一些徽标到核心数据时,我想检查我的对象是否已经有一个。所以我做了谓词并用它来获取。但是我的结果总是0,所以没有logo.object.id == id这样的Logos。带谓词的获取总是返回零
我确定他们在那里,所以我不确定这段代码。也许谓语错误?你能提出一些建议吗?
class func fetchLogoWithId(moc: NSManagedObjectContext, id: Int64) -> Logo? {
var fetchRequest = NSFetchRequest(entityName: "Logo")
fetchRequest.predicate = NSPredicate(format: "object.id == %d", id)
var error: NSError?
if moc.countForFetchRequest(fetchRequest, error: &error) == 0 {
return nil
}
var logo = moc.executeFetchRequest(fetchRequest, error: &error)
if error != nil {
return nil
}
println("--------------")
println(logo)
println("--------------")
return logo?.first as? Logo
}
谓词的核心数据模型检查是如何定义的“ID”属性?如果您不*添加谓词,则获取请求是否返回?结果中想要的对象是? –
id是Object实体的int64属性 –
它返回实体中的所有对象 –