假设我有NSArray
一个s ( myArray
, , )NSString
@"a0"
@"a1"
@"a2"
然后在快速枚举中,我循环进入我的数组以根据该 NSStrings 构建属性。我在访问该属性时遇到问题。
我正在尝试这样的事情:
@property (nonatomic) float a0propertyLow;
@property (nonatomic) float a0propertyHigh;
@property (nonatomic) float a1propertyLow;
@property (nonatomic) float a1propertyHigh;
..
.. etc.
for (NSString *aPos in myArray) {
NSString *low = [NSString stringWithFormat:@"%@propertyLow",aPos];
NSString *high = [NSString stringWithFormat:@"%@propertyHigh",aPos];
SEL lowSel = NSSelectorFromString(low);
SEL highSel = NSSelectorFromString(high);
if ([self respondsToSelector:lowSel]&&[self respondsToSelector:highSel]) {
id sumPartOne = [self performSelector:lowSel];
id sumPartTwo = [self performSelector:highSel];
float bla = (float)sumPartOne + (float)sumPartTwo;
}
}
我知道我的代码是错误的,但我不知道如何使它工作。我的问题是 lowSel 和 highSel 是返回的 getter,float
但是执行选择器方法返回的方法id
对对象来说是可以的,但对 s 来说是不行float
的。
那么,如何使用变量名访问我的浮动吸气剂?我敢肯定答案一定很简单,但似乎我的大脑正在寻找一些复杂的东西(而且这显然不起作用)所以我正在寻求帮助:)
非常感谢您的帮助