我使用了 NSDictionary 将我的输入(NSString)转换为选择器。 "选择器映射" 如下所示:
[self setCmdSelectorMap:[NSDictionary dictionaryWithObjectsAndKeys:
[NSValue valueWithPointer:@selector(doOpenBrowserByString:)], @"openBrowser",
[NSValue valueWithPointer:@selector(syncData:)], @"sync",
[NSValue valueWithPointer:@selector(getCachedString:)], @"getCachedString",
nil]];
当我尝试获取其中的一个选择器并执行它时,会出现警告:
sel = [[_cmdMap objectForKey:command] pointerValue];
NSLog(@"selector determined : %@", NSStringFromSelector(sel));
[self performSelector:sel withObject:arguments];
警告内容是:PerformSelector可能会因其选择器未知而导致泄漏。有没有办法防止出现这个警告?或者有没有更“安全”的方式来执行此操作?
谢谢大家 :)