Pergunta

Eu estou usando NSValueTransformers aos atributos criptografar (strings, datas, etc.) em meu modelo Core Data, mas tenho certeza que ele está interferindo com a classificação na minha NSFetchedResultsController.

Alguém sabe se existe uma maneira de contornar este problema? Suponho que isso depende de como o tipo é realizada; se é sempre única realizada diretamente no banco de dados, então eu sou provavelmente fora da sorte. Se ele classifica nos próprios objetos, então talvez haja uma maneira de ativar a transformação antes de ocorrer o tipo.

Eu estou supondo que é diretamente no banco de dados, embora, desde o tipo seria fundamental em agarrar subconjuntos da coleção, que é o principal benefício do NSFetchedResultsController de qualquer maneira.

Nota: Devo acrescentar que há algum comportamento estranho aqui ... a colheita não sorte na primeira sessão (sessão onde os objetos são criados), mas ele faz tipo na posterior sessões (onde os objetos já existem e estão apenas sendo recuperados). Então, talvez a classificação faz trabalho com transformables, mas talvez haja ressalva em que eles têm de ser salvo primeiro ou algo parecido (?)

Foi útil?

Solução

Se você está classificando dentro do NSFetchedResultsController então é contra o armazenamento (banco de dados ou seja). No entanto, você pode executar um "secundário" tipo contra os resultados quando eles estão na memória e, portanto, descriptografado chamando -sortedArrayUsingDescriptors:

actualizar

Eu acredito que o seu comportamento inconsistente, provavelmente, é baseado no que já está na memória contra o que está sendo lido diretamente do disco.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top