title: UIButton tag not being set correctly in cellForRowAtIndexPath
body: <p>In my <code>UITableViewCell</code> I have a <code>UIButton</code> which represents a phone that when the user touches is suppose to call the phone number specified with the specific object in the table cell.
  <img src="https://i.stack.imgur.com/2LNnM.png" alt="enter image description here"></p>
  
  <p>Since I will have multiple buttons and each button will have a specific phone number I am trying to set the <code>tag</code> property on the <code>UIButton</code> to the current <code>indexPath.row</code>, however it works for the first 6 cells but when the cells start being reused the tag just goes back to 0 for all the buttons.  I am setting the button's tag outside of the reuse block which I thought should be the proper way to do this in order to identify each unique cell.</p>
  
  <p>For testing, I also set the <code>cell.tag</code> property to the <code>indexPath.row</code> and it works perfectly, so it certainly is isolated to the UIButton. Any ideas on what I might be doing wrong?</p>
  
  <pre><code>- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  {
      static NSString *SchoolCellIdentifer = @"SchoolCellIdentifier";
  
      SchoolInfoItem *item = [self.schoolArray objectAtIndex:indexPath.row];
  
      UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:SchoolCellIdentifer];
  
  
      // If the cell doesn't existing go ahead and make it fresh.
      if (cell == nil)
      {        
          // Begin Phone button view
          UIButton *phoneButton = [[UIButton alloc] initWithFrame:CGRectMake(67, 70, 35, 35)];
          phoneButton.tag = 80;
          UIImageView *phoneView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"phone-icon.png"]];
          phoneView.frame = CGRectMake(2.5, 2.5, 30, 30);
          [phoneButton addSubview:phoneView];
          [cell.contentView addSubview:phoneButton];
  
      }
  
      cell.tag = indexPath.row;
      phoneButton = (UIButton *) [cell viewWithTag:80];
      [phoneButton addTarget:self action:@selector(callPhoneNumber:) forControlEvents:UIControlEventTouchUpInside];
      phoneButton.tag = cell.tag;
      NSLog(@"phoneButton tag: %d", phoneButton.tag);
      NSLog(@"cell tag:%d", cell.tag);
  
  return cell
  }
  </code></pre>
  
  <p>Here is the method for the TouchEvent:</p>
  
  <pre><code>- (void) callPhoneNumber:(id)sender
  {
      UIButton *button = (UIButton *) sender;
      SchoolInfoItem *schoolItem = [self.schoolArray objectAtIndex:button.tag];
      NSLog(@"tag at: %d", button.tag);
  
      if ([schoolItem.MainPhone length] != 0)
      {
          NSString *URLString = [@"tel://" stringByAppendingString:schoolItem.MainPhone];
          NSURL *URL = [NSURL URLWithString:URLString];
          NSLog(@"%@", URL);
  
          [[UIApplication sharedApplication] openURL:URL];
      }
  }
  </code></pre>