我正在尝试这件事,但似乎无法正确处理。我有一个名为 dataDictionary 的 NSMutableDictionary 与 2 KeyValue 对, Id 和 MethodName
NSMutableDictionary *dataDictionary = [[NSMutableDictionary alloc] initWithCapacity:1];
[dataDictionary setValue"1.0" forKey"Id"];
[dataDictionary setValue"myMethod" forKey"MethodName"];
虽然我的方法是
-(void)myMethod{ … }
所以我需要做的是获取方法名称 [dataDictionary valueForKey"MethodName"]; 并调用该方法...
任何帮助都会很棒..提前感谢
Best Answer-推荐答案 strong>
您可以使用 NSSelectorFromString 将其存储为 NSString 或 NSStringFromSelector
或者像一个NSValue
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSValue valueWithPointerselector(foo)], @"foo",
nil];
SEL aSel = [[dict objectForKey"foo"] pointerValue];
更多信息:
Add method selector into a dictionary ,
Store selector as value in an NSDictionary
关于iOS将方法名称添加到NSDictionary并随后调用它,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/23904098/
|