我有一個客觀的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」。但我相信這不是這個代碼的唯一問題。任何人都可以告訴我如何爲此創建適當的代碼或突出更好的方法?
另請參閱[此問題。](http://stackoverflow.com/q/112643/868193) –
你想達到什麼目的?一般來說,當你是編程新手時,沒有必要像這樣做這樣的盛宴,因爲所有事情都可以通過適當的面向對象應用程序設計來完成 –
可能的[如何製作動態命名方法參數?](http:// stackoverflow .com/questions/12992034/how-to-make-a-dynamically-named-method-parameter) –