Возможный дубликат:
performSelector может вызвать утечку, потому что его селектор неизвестен
Я сделал 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 может вызвать утечку, потому что его селектор неизвестен. Есть ли способ предотвратить это предупреждение? или существует ли "безопасный" способ выполнения такого действия?
Спасибо, ребята:)