Tengo una aplicación que utiliza datos centrales y enlaces. Quiero tener un NSSearchField que pueda buscar a través de un NSArrayController vinculado a un NSTableView. El controlador de matriz contiene objetos de Datos principales que tienen un campo de "nombre". He fijado el NSSearchField así:Uso de predicados en un controlador de matriz para filtrar objetos relacionados
Bind To: the array controller
Controller Key: filterPredicate
Predicate Format: name contains[c] $value
Esto funciona. Quiero ampliarlo para que pueda buscar en los campos de objetos relacionados con los que están en el controlador de matriz. Cada objeto en el controlador de array tiene una relación to-many con otro tipo de objeto llamado "tag" que tiene un campo llamado "name". Intenté lo siguiente:
Bind To: the array controller
Controller Key: filterPredicate
Model Key Path: tags
Predicate Format: name contains[c] $value
Sin embargo, esto no funciona. No sucede nada en NSTableView cuando se ingresa texto en NSSearchField. ¿Qué tiene de malo?
utilicé como mi formato de predicado: self.tags.name contiene [c] $ valor Y consigo un error: No se puede hacer una operación de subcadena con algo que no es una cadena (izda = {( "ABC", "XYZ", )} rhs = A) Creo que esto se debe a que el lado izquierdo es un contenedor. ¿Cómo hago para que sea una cadena si hay más de un objeto de etiqueta? – hekevintran
No importa, encontré el motivo. ¡Olvidé la palabra CUALQUIERA! – hekevintran
Excelente. La mejor de las suertes. –