Domanda

Ho un NSTableView che contiene alcune colonne popolate di dati. Come posso impostare una barra di ricerca in grado di filtrare le righe in base al contenuto di una colonna specifica? Sto cercando il tipo di operazione eseguita con Spotlight nel Finder o nella barra di ricerca di iTunes in grado di filtrare i brani in base ai metadati.

È stato utile?

Soluzione

L'origine dati può essere gestita da NSArrayController?

Esistono 2 standard . La prima tecnica (pre-Tiger) consiste nella sottoclasse di NSArrayController, sovrascrivendo organizzaOggetti. Il secondo (post-Tiger) è quello di associare i predicati di NSSearchField al filtro Filterredred di NSArrayController. In entrambi i casi, associa le proprietà della tua vista al tasto organizzatoObject del controller (ad es. Associa il pulsante " name " NSTableColumn al tasto organizzatoObjects.name del controller e associa il contenuto di NSTableView a < code> arrangedObjects ). Potresti voler leggere su scrivere predicati .

Altri suggerimenti

" riflettore " la funzionalità ti viene effettivamente fornita con l'API SearchKit, anche se per un caso semplice come quello che stai descrivendo NSPredicate sarebbe probabilmente una scelta migliore. Se qualcuno è interessato, ho scritto una presentazione di SearchKit per CocoaHead che puoi prendere uno sguardo qui .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top