Не работает NSPredicate с числами


#1

У меня в CoreData сохранен список учеников, со значениями nameUser, numberUser, ageUser, genderUser и т.д.
При этом numberUser представлен как Int32
Теперь мне надо вытащить данные одного ученика по его номеру (numberUser), для этого использую NSPredicate

let fetchRequest: NSFetchRequest=Peoples.fetchRequest()
fetchRequest.predicate = NSPredicate(format: “numberUser == %@”, numberUser)
do {
let result = try context!.fetch(fetchRequest)
} catch {
print (error.localizedDescription)
}
Но почему-то именно при использовании numberUser приложение не работает, какого-либо нормального текста ошибки не пишет (что-то там BAD Address). Если же использовать nameUser, genderUser и т.д., то все нормально отбирает. Я думаю что то из-за того что numberUser прописан как Int32 - может в таком случае по другому пишется синтаксис “==%@”?


#2
NSPredicate(format: "age = %d", 10)
NSPredicate(format: "age = %@", NSNumber(value: 10))

String Format Specifiers


#3

Спасибо!!
Поменял “%@” на “%d” и все заработало! -)
Столько времени потерял, я думал уже все в String переводить, а тут всего один символ все решил
Еще раз спасибо! -)