2009-07-02 9 views
10

Sto utilizzando KVC per scorrere alcune visualizzazioni. In caso di problemi impostazione delle proprietà BOOL:Come concludere un BOOL per KVC in Cocoa/Obj-C?

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

ottengo: avvertimento: passando argomento 1 di 'setValue: forKeyPath:' fa puntatore da intero senza un cast.

Non c'è [valore NSValueWithBool: YES] o simile che riesco a trovare.

Cosa fare?

risposta

29

Il compilatore sta generando un avviso perché il primo argomento di -setValue:forKeyPath: prevede e oggetto. SÌ non è un oggetto.

La risposta è proprio lì in "NSValue.h":

versioni

[NSNumber numberWithBool: aBool]

successive di Xcode consentono di utilizzare la sintassi letterale:

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

1

È inoltre possibile utilizzare Espressione letterale @ (YES)

Per ulteriori informazioni llvm Objective-C Literals

+2

Le parentesi sono facoltative, '@ SÌ' funzionerà bene –

Problemi correlati