iOS - Sind UITableViewCell reuseIdentifiers global?

8

Welchen Umfang haben die Wiederverwendungskennungen der Tabellenansichtszelle - werden sie in einer Tabellensichtinstanz oder in allen Tabellenansichten gemeinsam genutzt, die dieselbe Wiederverwendungskennung verwenden?

Ich habe zB einen FooTableViewController und einen BarTableViewController, beide haben eine TableView und beide benutzen @ "Cell" Bezeichner in tableView: cellForRowAtIndexPath, aber die Zelleneigenschaften / das Styling sind unterschiedlich. Die Frage ist - werden diese Zellen in Tabellenansichten wiederverwendet oder nicht?

    
Dmitry Sokurenko 23.03.2012, 11:40
quelle

2 Antworten

7

Sie werden niemals zwischen Instanzen geteilt.

  

Ein UITableView-Objekt verwaltet eine Warteschlange (oder Liste) der derzeit wiederverwendbaren Zellen, die jeweils eine eigene Wiederverwendungskennung haben, und stellt sie dem Delegaten in der dequeueReusableCellWithIdentifier: -Methode zur Verfügung.

(aus [UITableViewCell reuseIdentifier] docs)

Schwerpunkt auf "UITableView-Objekt".

Sie sollten jedoch Ihre Zellenbezeichner beschreibender machen. Eine unterschiedliche Kennung für jeden von Ihnen verwendeten Zelltyp. Dein Code wird besser lesbar sein.

    
Sulthan 23.03.2012, 11:48
quelle
6

Sie werden nur in einem einzigen UITableView verwendet, sie werden niemals geteilt. Jedes UITableView hat seinen eigenen "Pool" wiederverwendbaren UITableViewCells

    
Oscar Gomez 23.03.2012 11:46
quelle

Tags und Links