2012-02-28 14 views
10

Puedo obtener el valor de un NSTokenField haciendo [NSTokenField stringValue] pero esto no devuelve los tokens individualmente. Lo que intento obtener son los campos de token en una matriz, es decir, ['token', 'token2'].Obtener los tokens de NSTokenField

Soy un poco ignorante cuando se trata de Cocoa/Objective-c, así que no me sorprendería si me falta algo obvio.

NSTokenField no responde a count, por lo que no estoy seguro de si es posible recuperar los tokens.

Gracias.

+1

¿No hay un carácter de separación consistente en el resultado de 'stringValue'? Simplemente use ['componentsSeparatedByString:'] (https://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/NSString_Class/Reference/NSString.html#//apple_ref/doc/uid/20000154 -componentsSeparatedByString_). –

Respuesta

23

De the Apple documentation:

para recuperar los objetos representados por los símbolos en un campo token, envía el campo token un mensaje de objectValue. Aunque este método está declarado por NSControl, NSTokenField lo implementa para devolver una matriz de objetos representados. Si el campo de token simplemente contiene una serie de cadenas, objectValue devuelve una matriz de cadenas. Para establecer los objetos representados de un campo de token, use el método setObjectValue:, pasando una matriz de objetos representados. Si estos objetos no son cadenas, NSTokenField luego consulta a su delegado sobre las cadenas de visualización que se usarán para cada token.

+0

¡Genial! Sería genial si hubiera tokens @property del tipo NSArray, o al menos la misma descripción anterior en la página de referencia de clase de NSTokenField ... Gracias por su respuesta – Heartinpiece

Cuestiones relacionadas