title: iPhone - how to use performSelector with complex parameters?
body: <p>I have an application designed for iPhone OS 2.x. </p>
  
  <p>At some point I have this code</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
  
    //... previous stuff initializing the cell and the identifier
  
    cell = [[[UITableViewCell alloc] 
       initWithFrame:CGRectZero 
       reuseIdentifier:myIdentifier] autorelease]; // A
  
  
    // ... more stuff
  }
  </code></pre>
  
  <p>But as the initWithFrame selector was deprecated in 3.0, I need to transform this code using respondToSelector and performSelector... as this...</p>
  
  <pre><code>if ( [cell respondsToSelector:@selector(initWithFrame:)] ) { // iphone 2.0
    // [cell performSelector:@selector(initWithFrame:) ... ???? what?
  }
  </code></pre>
  
  <p>My problem is: how can I break the call on A into preformSelector calls if I have to pass two parameters "initWithFrame:CGRectZero" and "reuseIdentifier:myIdentifier" ???</p>
  
  <p>EDIT - As sugested by fbrereto, I did this</p>
  
  <pre><code> [cell performSelector:@selector(initWithFrame:reuseIdentifier:)
      withObject:CGRectZero 
      withObject:myIdentifier];
  </code></pre>
  
  <p>The error I have is <strong>"incompatible type for argument 2 of 'performSelector:withObject:withObject'</strong>.</p>
  
  <p>myIdentifier is declared like this</p>
  
  <pre><code>static NSString *myIdentifier = @"Normal";
  </code></pre>
  
  <p>I have tried to change the call to</p>
  
  <pre><code> [cell performSelector:@selector(initWithFrame:reuseIdentifier:)
      withObject:CGRectZero 
      withObject:[NSString stringWithString:myIdentifier]];
  </code></pre>
  
  <p>without success...</p>
  
  <p>The other point is CGRectZero not being an object... </p>