我在对象上设置了一些属性,大部分是GLfloat
我想知道是否有办法使用[self setValue:(id)value forKey:(id)key];
那需要一个c风格的变量吗?
不一定是这样setValue:forKey
是否有替代方案 如果有可用的方案。
我的推理是我在一个对象上有很多属性floats
我可以通过NSDictionary
与价值观(NSNumber
这是没有问题的)来设置每个相关值。
理想情况下,我可以在没有枚举器或自定义设置器的情况下完成此操作 - 这可行吗?
相似地,setValue:forKey:
确定所需的数据类型
指定键的适当访问器或实例变量。如果
数据类型不是对象,则从中提取值
使用适当的 -Value 方法传递对象。
您可以通过NSNumber
,并且它将自动转换回您的设置器的浮点数。
@interface MyClass ()
@property (nonatomic, assign) CGFloat example;
@end
@implementation MyClass
- (void)testSetter {
[self setValue:@(5.0f) forKey:@"example"];
}
@end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)