我有一个客观的 C 方法,它传入一个字符串和一个整数作为它的参数。在这个方法中,我想使用一个选择器——它的名称基于我传入的整数值。例如,如果整数参数是 5,我希望选择器命名为“buildXArrayIndex5”,或者如果整数参数是 3,我希望选择器命名为“buildXarrayIndex3”。我真的不知道如何做到这一点,或者它是否可能/合理。我是目标 C 的新手,所以我写出了我想要发生的事情,但它不是工作/有效的代码。但这里是:
- (void) startBuildingXArray:(int)senderID:(NSString *)moveTrackerObject {
NSString *methodNamePrefix = @"buildXArrayIndex";
NSString *realMethodName = [[NSString alloc]initWithFormat:@"%@%d",methodNamePrefix,
senderID];
SEL realSelector = NSSelectorFromString(realMethodName);
[self realSelector: moveTrackerObject];
}
在界面中,我声明了 SEL realSelector;但是我在没有运行它的情况下得到一个错误,它说“没有可见的@interface 声明了选择器 realSelector。” 但我确信这不是这段代码的唯一问题。谁能告诉我如何为此创建正确的代码或突出显示更好的方法?