要件があります。他のクラスからメソッドを呼び出す必要がありますが、メソッド名は次のようにさまざまなアクションで変更されます。
NSArray *arrays = [NSArray arrayWithObjects:@"aaa", @"bbb", nil];
for ( NSString *array in arrays ){
blablabla.......
Aclass *abc = [[Aclass alloc] methodName%@:variable],array;
blablabla.......
}
Objective-Cでそのようなコードを書く方法はありますか?
ありがとう!
詳細:Aclassのメソッド名は次のようになります。
-(NSArray *)procWithAAA:(NSInteger)aaaID
ありがとう!
Aclassのメソッド名は次のようになります。
-(NSArray *)procWithAAA:(NSInteger)aaaID
---------皆さんの提案として、私は以下のようなコードを書きますが、それは機能しません-------
NSArray *arrays = [NSArray arrayWithObjects:@"aaa", @"bbb", nil];
for ( NSString *array in arrays ){
SEL customSelector = NSSelectorFromString([NSString stringWithFormat:@"procWith%@", array]);
if ([Sync respondsToSelector:customSelector]) {
Aclass * abc = [Aclass performSelector:customSelector:aaaID];
}else {
NSLog(@"## Class does not respond to %@", customSelector);
}
Aclass * abc = [Aclass PerformSelector:customSelector:aaaID]; この部分はObjective-Cでは許可されていません。
ありがとう