Swift5 Simple Core Data NSPredicate Получить - PullRequest
0 голосов
/ 27 октября 2019

Я просто пытаюсь получить доступ к записи в основных данных с помощью свойства с именем "id", имеющего тип String. Следующее продолжает жаловаться на «Невозможно разобрать строку формата« 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
}

1 Ответ

1 голос
/ 27 октября 2019

Это строка формата. Вместо

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

Пишите

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