/ / Predicado de Reino para Membresía en la Lista - ios, swift, nspredicate, realm

Predicado de reino para la membresía en la lista - ios, swift, nspredicate, realm

Estoy tratando de usar RealmGridController para mostrar elementos en una lista de relaciones. Tengo un objeto Collection que tiene una lista de Items:

class Collection: Object {
let items = List<Item>()

dynamic var name: String?
}

class Item: Object {
dynamic var name: String?
}

Me gustaría usar un RealmGridController para mostrar todos los elementos en el items propiedad de un específico collection. RealmGridController usos RBQFetchedResultsController para administrar su carga de datos, y el controlador de resultados recuperados utiliza un nombre de entidad y un predicado para obtener la lista de elementos para mostrar.

¿Cómo puedo expresar la lista de elementos en una relación? List como nombre de entidad y predicado?

Algunas cosas que he probado que no han funcionado:

entityName = Item.className()

// "Invalid predicate", reason: "Predicate with IN operator must compare a KeyPath with an aggregate"
basePredicate = NSPredicate(format: "SELF in %@.items", collection)
// Same
basePredicate = NSPredicate(format: "SELF in %@", collection.items)
// "Invalid predicate", reason: "Predicate with ANY modifier must compare a KeyPath with RLMArray with a value"
basePredicate = NSPredicate(format: "ANY SELF in %@", collection.items)

Parece que se muestra un Reino List<> ya que el contenido de un controlador de resultados obtenido debe ser bastante sencillo, pero parece que no puedo entenderlo. ¡Gracias!

Respuestas

1 para la respuesta № 1

RBQFetchedResultsController no admite el uso de un List como la fuente de datos. Pasé algún tiempo trabajando en esto para explorar el uso de KVO para administrar las notificaciones vs. RBQRealmNotificationManager Pero nunca lo terminé.

Por ahora, sugeriría buscar en el nuevo soporte de notificación de colección de Realm agregado en v0.98.0. Puede registrarse para recibir una notificación cuando cualquier objeto en el List Está actualizado. Esto todavía no ofrece la información de cambio de índice, pero esto llegará pronto.