s(、、)の呼び出しNSArray
がmyArray
あるとしましょうNSString
@"a0"
@"a1"
@"a2"
次に、高速列挙で配列にループし、そのNSStringに従ってプロパティを構築します。そのプロパティへのアクセスに問題があります。
私はそのようなことを試みています:
@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が戻るゲッターであるが、performselectorfloat
メソッドがid
オブジェクトに対しては問題ないがfloat
sに対しては問題ないことを返すことです。
では、変数名を使用してフロートゲッターにアクセスするにはどうすればよいですか?答えは簡単なはずですが、私の心は複雑なものを探しているようです(そしてそれは明らかに機能しません)ので、私は助けを求めています:)
ご助力ありがとうございます