aby zapobiec ostrzeżeniu z „PerformSelect może spowodować wyciek, ponieważ jego selektor jest nieznany” [duplikat]
Możliwy duplikat:
performSelector może spowodować wyciek, ponieważ jego selektor jest nieznany
Zrobiłem NSDictionary, aby przekonwertować moje dane wejściowe (NSString) na selektor. „Mapa wyboru” wygląda następująco:
[self setCmdSelectorMap:[NSDictionary dictionaryWithObjectsAndKeys:
[NSValue valueWithPointer:@selector(doOpenBrowserByString:)], @"openBrowser",
[NSValue valueWithPointer:@selector(syncData:)], @"sync",
[NSValue valueWithPointer:@selector(getCachedString:)], @"getCachedString",
nil]];
Kiedy próbuję pobrać jeden z tych selektorów i wykonać go w następujący sposób, powoduje to ostrzeżenie:
sel = [[_cmdMap objectForKey:command] pointerValue];
NSLog(@"selector determined : %@", NSStringFromSelector(sel));
[self performSelector:sel withObject:arguments];
Ostrzeżenie mówi: PerformSelector może spowodować wyciek, ponieważ jego selektor jest nieznany. Czy jest jakiś sposób, aby zapobiec wystąpieniu tego ostrzeżenia? czy jest jakiś „bezpieczniejszy” sposób na wykonanie takiej akcji?
Dzięki chłopaki :)