es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Atributos URI escritos en CoreData: cómo consultar con NSPredicate

Tengo una entidad CoreData que almacena un atributo llamado “imageUrl” de tipo “URI”. Se utiliza para almacenar URL (como en Swift URL / NSURL) para, por ejemplo, renderizar imágenes remotas.

¿Cómo consultaría la representación de cadena de un atributo de tipo URI?

Ejemplo: Me gustaría obtener todos los objetos que coincidan con “http://mydomain.jpg” o URL (cadena: “http://mydomain.jpg”) para ser más precisos.

Para los atributos de tipo “String”, esto sería suficiente:

NSPredicate (formato: “myStringAttribute LIKE%@”, “http://mydomain.jpg”)

¿Funcionaría lo siguiente para los atributos de tipo URI?

NSPredicate (formato: “imageUrl LIKE%@”, URL (cadena: “http://mydomain.jpg”))

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    No, el formato de predicado anterior no funcionaría para atributos de tipo URI. En cambio, tendrías que convertir la URL a una representación de cadena y compararla con el atributo almacenado como una cadena. Aquí está un ejemplo de formato de predicado que debería funcionar:

    NSPredicate(format: "imageUrl.absoluteString LIKE %@", "http://mydomain.jpg")

    Este predicado coincidiría con todos los objetos donde la representación de cadena del atributo imageUrl coincide con la cadena de URL dada.

Comments are closed.