Используя XCode 4.4 Convert to Modern Objective C Syntax, мои вызовы [NSNumber numberWithBool:YES]
были преобразованы в @(YES)
. У меня была проблема, о которой я теперь забыл, и я сам изменил их на @YES
, что должно быть правильным синтаксисом.
Однако это дает мне ошибку:
Неожиданное имя типа 'BOOL': ожидаемое выражение
Я знаю, что есть синтаксис "выражения", но я не понимаю, почему я не могу просто использовать @YES
и @NO
.
// Compiler error:
NSDictionary *userDefaultsDefaults = @{@"hasBeenLaunched": @YES};
// No error
NSDictionary *userDefaultsDefaults = @{@"hasBeenLaunched": @(YES)};
Почему @(YES)
компилируется, а @YES
нет, и что я могу сделать, чтобы исправить это?