Swift5简单核心数据NSPredicate获取

问题描述 投票:0回答:1

我只是试图通过我已命名为String类型的“ id”属性访问核心数据中的记录。以下内容一直在抱怨“无法解析格式字符串“ id == 8DF3F2C6741B47C8864D1052C36E2C4D””。我该如何解决这个问题?

private func getEntity(id: String) -> NSManagedObject? {
    var myEntity: NSManagedObject?

    let fetchRequest = NSFetchRequest<NSManagedObject>(entityName: "MyEntity")
    fetchRequest.predicate = NSPredicate(format: "id = \(id)")
    do {
        var tempArray = try getCurrentManagedContext().fetch(fetchRequest)
        myEntity = tempArray.count > 0 ? tempArray[0] : nil
    } catch let error as NSError {
        print("get failed ... \(error) ... \(error.userInfo)")
    }

    return myEntity
}
core-data nspredicate predicate swift5
1个回答
0
投票

这是格式字符串。代替

NSPredicate(format: "id = \(id)")

NSPredicate(format: "id == %@", id)  
© www.soinside.com 2019 - 2024. All rights reserved.