Utilizando la sintaxis Convertir al moderno objeto C de XCode 4.4, mis llamadas [NSNumber numberWithBool:YES]
se convirtieron a @(YES)
. Tuve un problema que olvidé y lo cambié yo mismo al @YES
, que se supone que es la sintaxis correcta.¿Por qué @YES da un error de "expresión esperada", pero @ (YES) compila?
Sin embargo, yo haciendo así que da el error:
Unexpected type name 'BOOL': expected expression
Sé que hay una sintaxis "expresión", pero no veo por qué no puedo simplemente usar @YES
y @NO
.
// Compiler error:
NSDictionary *userDefaultsDefaults = @{@"hasBeenLaunched": @YES};
// No error
NSDictionary *userDefaultsDefaults = @{@"hasBeenLaunched": @(YES)};
Por qué se compila @(YES)
mientras @YES
no lo hace, y lo que puede hacer para remediar esto?
¿Qué estás preguntando exactamente? –