usar ubicacion sesion rutas privacidad otro mapas iniciando hay funciona estas esta dispositivo disponibles desde como buscar iphone ios core-data

ubicacion - privacidad iphone



Datos básicos: ¿alguna forma de obtener múltiples entidades? (3)

Acabo de comenzar con Core Data y, como ejercicio de aprendizaje, estoy creando una aplicación en la que necesito mostrar diferentes tipos de objetos en una sola vista de tabla.

Como ejemplo, digamos que tengo una entidad para "Cheese" y una entidad no relacionada para "Pirate". En la pantalla principal de mi aplicación, el usuario debe poder crear una instancia de "Queso" o "Pirata" para agregarla a la vista de tabla.

Entonces, al usar el editor de datos centrales, he creado entidades para Cheese y Pirate ... sin embargo, un NSFetchRequest parece permitirte solo recuperar un tipo de entidad a la vez con:

NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init]; NSEntityDescription *entity = [NSEntityDescription entityForName:@"Cheese" inManagedObjectContext:_context]; [fetchRequest setEntity:entity];

¿Hay alguna forma de realizar una búsqueda que recupere todos los objetos "Cheese" y "Pirate"?

Gracias.


La respuesta de Tiago es válida, pero la forma más directa de hacerlo es realizar dos solicitudes de recuperación por separado y puede almacenar en NSArrays por separado o agregar a una matriz mutable.


Lo que estás tratando de hacer se logra definiendo la herencia de entidad en tu modelo, donde "DisplayableObject" sería una clase abstracta definida como el padre de "Cheese" y "Pirate".

Luego, puede realizar una solicitud de recuperación en la entidad "DisplayableObject" y recuperará los objetos de ambas entidades.

Eche un vistazo a este artículo en la documentación de Apple: https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/CoreData/KeyConcepts.html


Tuve que lidiar con este problema también. Quería poder buscar en múltiples entidades pero evitar la herencia que resulta en la jerarquía de objetos almacenados en una sola clase de datos del núcleo y los problemas de rendimiento que pueden surgir.

Opté por crear un objeto de búsqueda concreto que almacene los términos de búsqueda comunes entre los objetos contra los que quiero buscar. Este objeto se agregó a cada una de las clases que quería buscar:

Person.Searchable Employee.Searchable Department.Searchable

Searchable tiene campos como searchTerm y muchas relaciones con cada uno de los objetos que necesito buscar. Y una imagen de modo que la información pueda mostrarse al usuario sin tener que consultar / cargar ninguna otra tabla.

Las consultas de Core Data se ejecutan contra Searchable, por lo que solo consulta una sola entidad.

Ejemplo:

Person { firstName = Joe, lastName = Jackson } -> searchable { term = joejackson, displayName = Joe Jackson, type = person } Employee { firstName = Joe, lastName = Smith } -> searchable { term = joesmith, displayName = Joe Smith, type = employee } Group { name = Joe''s Development Team } -> searchable { term = joesdevelopmentteam, displayName = Joe''s Development Team, type = group }

Ahora puede enumerar y buscar por persona, empleado, departamento todas las tablas separadas usando su miembro de búsqueda utilizando un solo controlador de solicitud Fetched.