Verwendung von Prädikaten auf ein array mit dem controller zu filter-und Verwandte Objekte
Ich habe eine Anwendung mit Core Data und Bindungen. Ich möchte eine NSSearchField kann die Suche über einen NSArrayController an eine NSTableView. Die array-controller enthält Core Data Objekte, die ein "name" - Feld. Ich habe setup die NSSearchField wie diese:
Bind To: the array controller
Controller Key: filterPredicate
Predicate Format: name contains[c] $value
Dieser funktioniert. Ich möchte um es zu erweitern, so dass Sie können die Suche auf die Felder von Objekten in Bezug auf diese in den array-controller. Jedes Objekt im array-controller verfügt über eine zu-viele-Beziehung auf eine andere Art von Objekt namens "tag", welches ein Feld namens "name". Ich habe versucht, die folgenden:
Bind To: the array controller
Controller Key: filterPredicate
Model Key Path: tags
Predicate Format: name contains[c] $value
Diese jedoch funktioniert nicht. Nichts passiert in der NSTableView wenn der text Eingang in die NSSearchField. Was ist daran falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Bindung an
tags
wie die model-key-path versucht, binden Sie das Suche-Feld-Prädikat für den Schlüssel-Pfad arrayController.filterPredicate.tags. Da die filterPredicate Eigenschaft der array-controller nicht über ein tags-Eigenschaft, sind Sie wahrscheinlich gettings 'Schlüssel nicht gefunden' - Ausnahmen, die protokolliert wird still. Statt, unter Hinweis darauf, dass die filterPredicate einen NSArrayController wird angewandt, um die Mitglieder des Arrays, Sie wollen die Bindung aufgebaut werden, so etwas wie dieses:self.tags
geschrieben werden kann als nurtags
, aber ich denke, das macht es deutlicher, dass die tags ist eine Eigenschaft des Objekts, auf die das Prädikat angewendet wird.