title: to prevent warning from "PerformSelect may cause a leak because its selector is unknown"
body: <blockquote>
    <p><strong>Possible Duplicate:</strong><br>
    <a href="https://stackoverflow.com/questions/7017281/performselector-may-cause-a-leak-because-its-selector-is-unknown">performSelector may cause a leak because its selector is unknown</a>  </p>
  </blockquote>
  
  
  
  <p>I did a NSDictionary to convert my input(NSString) to selector. The "selector map" is looked as follows : </p>
  
  <pre><code>[self setCmdSelectorMap:[NSDictionary dictionaryWithObjectsAndKeys: 
                           [NSValue valueWithPointer:@selector(doOpenBrowserByString:)], @"openBrowser",
                           [NSValue valueWithPointer:@selector(syncData:)], @"sync",
                           [NSValue valueWithPointer:@selector(getCachedString:)], @"getCachedString",
                           nil]];
  </code></pre>
  
  <p>When I try to fetch one of these selector and perform it by follows, it cause a warning :</p>
  
  <pre><code>sel = [[_cmdMap objectForKey:command] pointerValue];
  NSLog(@"selector determined : %@", NSStringFromSelector(sel));
  [self performSelector:sel withObject:arguments];
  </code></pre>
  
  <p>The warning says : PerformSelector may cause a leak because its selector is unknown. Is there any way to prevent this warning from occurring? or is there any "safer" way to perform such an action?</p>
  
  <p>Thanks guys :)</p>