2009-07-02 17 views
10

Estoy usando KVC para iterar a través de algunas vistas. Tener problemas para configurar las propiedades BOOL:¿Cómo envuelve un BOOL para KVC en Cocoa/Obj-C?

[self setValue:YES forKeyPath:[NSString stringWithFormat:@"myView%d.userInteractionEnabled", n]]; 

me sale: advertencia: se pasa el argumento 1 de 'setValue: forKeyPath:' crea un puntero desde un entero sin una conversión.

No hay [NSValue valueWithBool: YES] o similar que pueda encontrar.

¿Qué hacer?

Respuesta

29

El compilador genera una advertencia porque el primer argumento de -setValue:forKeyPath: espera y se opone. SÍ no es un objeto

La respuesta está ahí mismo en "NSValue.h":

versiones

[NSNumber numberWithBool: aBool]

posteriores de Xcode le permiten utilizar la sintaxis literal:

[foo setValue:@YES forKey:@"bar"]

1

También puede utilizar Expresión literal @ (SÍ)

Para obtener más información llvm Objective-C Literals

+2

Los paréntesis son opcionales, '@ YES' funcionará bien –

Cuestiones relacionadas