Ich habe eine Anwendung mit Core Data und Bindungen. Ich möchte ein NSSearchField haben, das einen NSArrayController durchsuchen kann, der an NSTableView gebunden ist. Der Array-Controller enthält Core Data-Objekte, die ein "Name" -Feld haben. Ich habe das NSSearchField wie folgt eingerichtet:Verwenden Prädikate auf einem Array-Controller zum Filtern verwandter Objekte
Dies funktioniert. Ich möchte es so erweitern, dass es die Felder von Objekten durchsuchen kann, die mit denen im Array-Controller verwandt sind. Jedes Objekt im Array-Controller hat eine Zu-Viele-Beziehung zu einem anderen Objekttyp namens "Tag", der ein Feld namens "Name" enthält. Ich habe folgendes versucht:
Bind To: the array controller
Controller Key: filterPredicate
Model Key Path: tags
Predicate Format: name contains[c] $value
Dies funktioniert jedoch nicht. In NSTableView geschieht nichts, wenn Text in NSSearchField eingegeben wird. Was ist daran falsch?
habe ich als mein Prädikat Format: self.tags.name enthält [c] $ value Und ich erhalte eine Fehlermeldung: Kann nicht einen Teilbetrieb mit etwas, das keinem String (LHS = {( "ABC", "XYZ", )} rhs = A) ich denke, das liegt daran, dass die linke Seite ein Behälter ist. Wie bekomme ich eine Zeichenfolge, wenn mehr als ein Tag-Objekt vorhanden ist? – hekevintran
Egal, ich habe den Grund gefunden. Ich habe das Wort JEDER vergessen! – hekevintran
Ausgezeichnet. Viel Glück. –