Предикат основных данных не работает
Я новичок в Mac и пишу свое первое приложение с использованием Core Data. У меня есть модель данных, в которой есть сущность SizeRecord, которая имеет один атрибут «размер» и единую связь «файлы», которая представляет собой набор ссылок FileRecord. Я могу создать SizeRecord и правильно сохранить его в базе данных. Я также могу получить запись из базы данных:
let sizeFetch: NSFetchRequest<SizeRecord> = SizeRecord.fetchRequest()
let size: UInt64 = 106594
//sizeFetch.predicate = NSPredicate(format: "size == %i", size)
do {
let fetchedSizes = try dbCtx.ctx.fetch(sizeFetch)
} catch {
}
Когда я запускаю это, массив fetchedSizes содержит одну выбранную запись, как и ожидалось:
▿ 1 element
- 0 : <SizeRecord: 0x10584fcc0> (entity: SizeRecord; id: 0x100495ea0 <x-coredata://F7EC8A0C-06E1-46AE-A875-34E4523AAC2A/SizeRecord/p1> ; data: {
files = (
"0x100336310 <x-coredata://F7EC8A0C-06E1-46AE-A875-34E4523AAC2A/FileRecord/p2>"
);
size = 106594;
однако, когда я раскомментирую предикат выше, я получаю пустой массив в результате. Это содержимое sizeFetch:
<NSFetchRequest: 0x1058e4890> (entity: SizeRecord; predicate: (SIZE == 106594); sortDescriptors: ((null)); type: NSManagedObjectResultType; )
Пожалуйста, есть идеи, что я делаю не так? Это должно быть что-то очень простое и глупое :)