gpt4 book ai didi

ios - 使用谓词获取总是返回 nil

转载 作者:搜寻专家 更新时间:2023-11-01 07:34:17 25 4
gpt4 key购买 nike

我有两个实体,一个是“对象”,另一个是“ Logo ”,它们之间存在一对一的关系。当我向核心数据添加一些 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
}

最佳答案

我有点猜测,但问题可能在于%d 格式格式化一个 C int 值,这是一个 32 位数量32 位设备。对于 64 位整数,您应该将谓词替换为

NSPredicate(format: "object.id == %lld", id)

NSPredicate(format: "object.id == %@", NSNumber(longLong: id))

关于ios - 使用谓词获取总是返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30956540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com