Как вы завершаете BOOL для KVC в Cocoa/Obj-C?
Я использую KVC для повторения нескольких просмотров. Не удалось установить свойства BOOL:
[self setValue:YES forKeyPath:[NSString stringWithFormat:@"myView%d.userInteractionEnabled", n]];
Я получаю: предупреждение: передача аргумента 1 из 'setValue: forKeyPath:' делает указатель из целого без литья.
Нет [NSValue valueWithBool: YES] или аналогичного, что я могу найти.
Что делать?
Ответы
Ответ 1
Компилятор генерирует предупреждение, потому что первый аргумент -setValue:forKeyPath:
ожидает и объект. ДА не является объектом.
Ответ находится прямо в "NSValue.h":
[NSNumber numberWithBool: aBool]
Более поздние версии Xcode позволяют использовать буквенный синтаксис:
[foo setValue:@YES forKey:@"bar"]
Ответ 2
Вы также можете использовать выражение Literal
@(ДА)
Дополнительная информация
llvm Objective-C Литералы