Si entiendo su pregunta, esta es la explicación que busca:
Prototipo (reutilización):
Cuando se utiliza células dinámicos, se utiliza células Prototype. Eso significa que en IB o en su código, crea una instancia de UITableViewCell
y le da un identificador (reuseIdentifier
). El UITableView
utiliza este prototipo para generar tantas celdas (filas) como necesite. UITableView
crear (y usar memoria) tantas celdas como necesite para llenar la pantalla. Una vez algunas de estas células van fuera de la pantalla, UITableView
reutiliza ellos - recicla ellos.
Puede definir más de uno celular prototipo en un UITableView
. La idea es que cada prototipo tenga un propósito diferente. Por ejemplo, define un prototipo de celda que tiene solo un gran UILabel
y su propósito es usar texto estático. Usted define otro prototipo que tiene solo un UIImageView
. Depende de su diseño y de cómo desea mostrar sus datos.
utilizar células de prototipo, en el IB, se utiliza dinámicos Prototipos células, y establecer un identifier
. Entonces usted tiene que poner en práctica UITableViewDataSource
métodos, tales como:
– tableView:numberOfRowsInSection:
– tableView:cellForRowAtIndexPath:
Estos métodos son métodos de delegado de UITableView.
Si no utiliza IB, debe crear células en – tableView:cellForRowAtIndexPath:
método:
UITableViewCell * celular = [[UITableViewCell alloc] initWithStyle: (UITableViewCellStyle) reuseIdentifier estilo: (NSString *) reuseIdentifier];
estática:
La idea de las células estáticas es sólo la simplicidad. Puede usar las celdas de prototipo (por ejemplo, solo un prototipo) y alimentar en un NSArray
estático, por ejemplo, como fuente de datos. Para tomar la tarea de implementar los métodos UITableViewDataSource
, Apple introdujo celdas estáticas, donde solo usaría el guión gráfico y el IB. En IB, seleccione la vista de tabla y elija Células estáticas y escriba su texto o defina la imagen. No desea realizar ningún cambio dinámico a las celdas estáticas más tarde cuando la aplicación se está ejecutando porque no está destinado a hacerlo, y tendría que implementar muchos más métodos para que no valga la pena. Aunque no es demasiado trabajo obtener el indexPath
de la fila seleccionada, pero la idea es si necesita enviar una nueva vista desde la selección de una celda estática, usaría segues, en lugar de implementar cualquier código.
Al usar celdas estáticas, no debe implementar el método UITableViewDataSource
; de lo contrario, su aplicación falla, y viceversa, si no implementa los métodos UITableViewDataSource
(necesarios) al usar celdas prototipo, su aplicación falla.
¿Puedes compartir el seguimiento de la pila? – sosborn