2012-02-28 10 views
10

Posso ottenere il valore di un NSTokenField eseguendo [NSTokenField stringValue] ma questo non restituisce i token singolarmente. Quello che sto cercando di ottenere è i campi dei token in una matrice i.e ['token', 'token2'].Ottenere i token da NSTokenField

Sono un po 'ignorante quando si tratta di Cocoa/Objective-c quindi non sarei sorpreso se mi manca qualcosa di ovvio.

NSTokenField non risponde a count quindi non sono sicuro che sia possibile recuperare i token.

Grazie.

+1

Non c'è un carattere separatore coerente nel risultato di 'stringaValore'? Basta usare ['componentsSeparatedByString:'] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/doc/uid/20000154 -componentsSeparatedByString_). –

risposta

23

Da the Apple documentation:

per recuperare gli oggetti rappresentati dai gettoni in un campo di token, inviare il campo token un messaggio objectValue. Sebbene questo metodo sia dichiarato da NSControl, NSTokenField lo implementa per restituire una matrice di oggetti rappresentati. Se il campo del token contiene semplicemente una serie di stringhe, objectValue restituisce una serie di stringhe. Per impostare gli oggetti rappresentati di un campo token, utilizzare il metodo setObjectValue:, passando in una matrice di oggetti rappresentati. Se questi oggetti non sono stringhe, NSTokenField interroga quindi il delegato per le stringhe di visualizzazione da utilizzare per ciascun token.

+0

Ottimo! Sarebbe bello se ci fosse un token @ proprietà del tipo NSArray, o almeno la stessa descrizione sopra nella pagina di riferimento della classe del NSTokenField ... Grazie per la tua risposta – Heartinpiece

Problemi correlati