1
resposta

Filtrar apenas os alunos que tem a nota 7

Como faço para retornar apenas alunos com a nota 7, por exemplo. Mostrou como ordenar. Como faço para filtrar, já que não tem como usar SQL. Obrigada

1 resposta

Oi Vanessa,

quando queremos filtrar os resultados, o Core Data possui um equivalente ao WHERE que é o NSPredicate. Então, ficaria assim:

let pesquisaAluno: NSFetchRequest<Aluno> = Aluno.fetchRequest()
let ordenaPorNome = NSSortDescriptor(key: nome, ascending: true)
pesquisaAluno.sortDescriptors = [ordenaPorNome]

let nota7 = NSPredicate(format: "nota = 7")
pesquisaAluno.predicate = nota7

O legal é que dá pra fazer WHERE com múltiplas condições:

let filtraNotaENome = NSPredicate(format: "nota = 7 and nome = Felipe")
pesquisaAluno.predicate = filtraNotaENome