OStack程序员社区-中国程序员成长平台

标题: iOS将方法名称添加到NSDictionary并随后调用它 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 07:58
标题: iOS将方法名称添加到NSDictionary并随后调用它

我正在尝试这件事,但似乎无法正确处理。我有一个名为 dataDictionaryNSMutableDictionary2 KeyValue 对, IdMethodName

NSMutableDictionary *dataDictionary = [[NSMutableDictionary alloc] initWithCapacity:1];
[dataDictionary setValue"1.0" forKey"Id"];
[dataDictionary setValue"myMethod" forKey"MethodName"];

虽然我的方法是

-(void)myMethod{ … }

所以我需要做的是获取方法名称 [dataDictionary valueForKey"MethodName"]; 并调用该方法...

任何帮助都会很棒..提前感谢



Best Answer-推荐答案


您可以使用 NSSelectorFromString 将其存储为 NSStringNSStringFromSelector

或者像一个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/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4