Неверный доступ при создании экземпляра NSPredicate

Итак, это код, который работал в Xcode 9.2:

let request: NSFetchRequest<MyModel> = MyModel.fetchRequest()
request.predicate = NSPredicate(format: "saved = %@", true as CVarArg)

и после обновления до Xcode 9.3 и Swift 4.1 происходит сбой кода:

Тема 1: EXC_BAD_ACCESS (код=1, адрес=0x1)

Это та часть, которая вылетает

NSPredicate(format: "saved = %@", true as CVarArg)

Сохраненное свойство объекта MyModel объявляется логическим. Почему это начало происходить, но работало раньше?


person Whirlwind    schedule 04.04.2018    source источник
comment
Вместо этого используйте NSNumber(value: true). stackoverflow.com/a/34631602/3151675   -  person Tamás Sengel    schedule 04.04.2018


Ответы (1)


Вам не нужно слишком усложнять это, если вы всегда ищете save = true, просто используйте строковый литерал в своем предикате.

NSPredicate(format: "saved == true")
person rodfleischer    schedule 04.04.2018