2010-06-10 6 views
5

En mi modelo de datos básicos (en iPhone SDK 3.1) tengo varias entidades asociadas a la misma instancia de una imagen. La imagen en sí misma también se almacena como objeto administrado. Para ahorrar espacio en disco, intento crear 1 archivo db para las imágenes y otro archivo db para todos los demás objetos. documentación yDatos centrales Relación entre tiendas con propiedades recuperadas

lectura de Apple google para días llegué a la siguiente conclusión: - Crear 1 modelo de datos que contiene la descripción de todas las entidades - Uso 1 almacén persistente coordinador

  • Use configuraciones para almacenar entidades imagen en un archivo diferente (sqlite) que las otras entidades (vea here)

  • Y, como Core Data no admite relaciones de instancias en un almacén persistente a instancias en otro almacén persistente, nosotros e "Propiedades descabellada" para crear débiles, unidireccionales relaciones

El uso de configuraciones es bastante sencillo: asignar una configuración a la entidad con el modelador de datos y declarar qué configuración utilizar cuando se añade un almacén persistente al coordinador . En mi caso, agregué a las tiendas al coordinador.

Pero aquí está el problema: cuando buscamos, digamos objetos 'Usuario' de una tienda, ¿cómo uso las propiedades recuperadas para cargar las imágenes asociadas con ese usuario (y las asigno al objeto usuario)?

¿Tengo que escribir un método de acceso personalizado para 'imágenes' en el objeto de usuario? ¿Cómo (y dónde) especificar el predicado para la propiedad recuperada?

Estaba convencido de que debe haber un tutorial o ejemplo que explique esto (ya que esta es obviamente la forma en que Apple sugiere hacerlo). Pero sin suerte hasta el momento.

¿Alguna idea?

Espero que podamos comenzar una discusión sobre este tema. Estoy seguro de que hay otras formas (más inteligentes) de resolver esto ...

Respuesta

1

No estoy seguro de que su afirmación sobre el espacio en disco sea correcta. Sin pruebas de la prueba su aplicación, me quedaría con la solución más simple de una tienda. Dicho esto ...

Debe almacenar algún atributo de identificación de la (s) imagen (es) en la clase de Usuario. Usaría una propiedad transformable para almacenar los identificadores de objeto del administrador. Agrega una propiedad recuperada en el modelador de datos y especifica el predicado allí también.

Cuestiones relacionadas