我正在使用KVC来迭代几个视图。设置BOOL属性时遇到问题:
[self setValue:YES forKeyPath:[NSString stringWithFormat:@"myView%d.userInteractionEnabled", n]];
我得到:警告:传递'setValue:forKeyPath:'的参数1使得整数指针没有强制转换。
我找不到[NSValue valueWithBool:YES]或类似的东西。
怎么办?
答案 0 :(得分:29)
编译器正在生成警告,因为-setValue:forKeyPath:
的第一个参数需要和对象。是不是一个对象。
答案就在“NSValue.h”中:
[NSNumber numberWithBool: aBool]
Xcode的更高版本允许您使用文字语法:
[foo setValue:@YES forKey:@"bar"]
答案 1 :(得分:1)
您也可以使用Literal表达式 @(YES)
了解更多信息 llvm Objective-C Literals