首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fetch with predicate总是返回nil

fetch with predicate总是返回nil
EN

Stack Overflow用户
提问于 2015-06-21 00:48:17
回答 1查看 934关注 0票数 1

我有两个实体,一个是“对象”,另一个是"Logo",它们是一对一的关系。当我向核心数据添加一些Logo时,我想检查我的对象是否已经有一个Logo。所以我用它做谓词和fetch。但是我的结果总是0,所以没有带有logo.object.id == id的徽标。

我确信它们在那里,所以我对这段代码不太确定。也许谓词是错的?你能给我一些建议吗?

代码语言:javascript
复制
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
    }
EN

回答 1

Stack Overflow用户

发布于 2015-06-21 01:59:49

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

代码语言:javascript
复制
NSPredicate(format: "object.id == %lld", id)

代码语言:javascript
复制
NSPredicate(format: "object.id == %@", NSNumber(longLong: id))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30956540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档