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

Es gibt einige Codes von einem Apple-Beispiel für Ihre eigene „benutzerdefinierte Zelle XIB“ unter Verwendung von Zellen in einem UITableView zu erstellen., wenn eine Detail-disclosure Taste Zelle angeklickt wurde (wenn eine benutzerdefinierte Zelle XIB mit)

Es scheint zu arbeiten ... aber ich denke, ich würde es besser tun, zu verstehen was dort getan wird.

  • Warum nicht das ist nach dem Wert - etwas zuweisen?

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

    (In der Tat, cell und tvCell werden nicht verwendet werden.)

  • Warum Linie # 4 Zuweisung tvCell verwendet wird, wenn nichts in überhaupt gestellt wurde, noch?

  • Warum ist Zeile # 5 die tvCell Nulling, die ich brauche?

  • Warum verwendet diese Zeile Assign, nicht beibehalten?

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

Über das einzige, was ich kann nicht richtig bekommen arbeiten, ist, wenn ich eine Offenlegung-Taste auf meiner benutzerdefinierten Zelle XIB setzen. Gibt es eine Möglichkeit für mich zu erkennen, wenn der Benutzer darauf geklickt hat? (Hoffentlich, ohne 100s TAGs zu verwenden.)

Antwort

21

Ich habe nicht mit XIBs für Zellen gespielt, aber ich sehe nicht, warum Sie tableView:accessoryButtonTappedForRowWithIndexPath: nicht noch verwenden konnten.

+0

Das funktioniert gut :) – willcodejavaforfood

Verwandte Themen