2010-04-22 6 views
6
if (cell == nil)  // 1 
{      // 2 
    [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil]; // 3 
    cell = tvCell;  // 4 
    self.tvCell = nil; // 5 
}      // 6 

Hay algo de código de un ejemplo de Apple de utilizar su propio "XI ter celda personalizado" para crear células en un UITableView.detectar cuándo se ha hecho clic en el botón detalle divulgación de una célula (cuando se utiliza un XI ter celda personalizado)

Parece que funciona ... pero creo que sería mejor que realmente entienda lo que se está haciendo allí.

  • ¿Por qué no es la siguiente asignación del valor - algo?

    cell = [[NSBundle mainBundle] loadNibNamed:@"TVCell" owner:self options:nil]; 
    

    (De hecho, cell y tvCell no se utilizan en absoluto.)

  • ¿Por qué es la línea # 4 asignación utilizando tvCell cuando nada se ha puesto en en absoluto, sin embargo?

  • ¿Por qué la línea n. ° 5 anula el tvCell que necesito?

  • ¿Por qué esta línea usa assign, not retention?

    @property (nonatomic, assign) IBOutlet UITableViewCell *tvCell; 
    

Sobre la única cosa que no me puedo trabajar correctamente es cuando pongo un botón divulgación en mi XI ter celda personalizado. ¿Hay alguna manera de detectar cuándo el usuario ha hecho clic en él? (Afortunadamente, sin utilizar 100s de TAG.)

Respuesta

21

No he jugado con XIB para celdas, pero no veo por qué aún no puede usar tableView:accessoryButtonTappedForRowWithIndexPath:.

+0

Eso funciona bien :) – willcodejavaforfood

Cuestiones relacionadas