Utilizzando la sintassi Convert to Modern Objective C di XCode 4.4, le mie chiamate [NSNumber numberWithBool:YES]
sono state convertite in @(YES)
. Ho avuto qualche problema che ora ho dimenticato e li ho modificati personalmente su @YES
, che dovrebbe essere la sintassi corretta.Perché @YES restituisce un errore di "espressione prevista", ma @ (YES) compila?
Tuttavia, così facendo mi dà l'errore:
Unexpected type name 'BOOL': expected expression
So che c'è una sintassi "espressione", ma non vedo perché non posso semplicemente utilizzare @YES
e @NO
.
// Compiler error:
NSDictionary *userDefaultsDefaults = @{@"hasBeenLaunched": @YES};
// No error
NSDictionary *userDefaultsDefaults = @{@"hasBeenLaunched": @(YES)};
Perché @(YES)
compilare mentre @YES
non lo fa, e cosa posso fare per porre rimedio a questo?
Che cosa stai chiedendo esattamente? –