dequeueReusableCellWithIdentifier no devuelve la celda

Tengo una tabla estática con una sección estática. Otras secciones son dinámicas.

Creo la sección de la tabla y la celda de la tabla para la sección dinámica. Establezca un identificador para Cell, establezca una class personalizada para él e incluso haga:

self.tableView.registerClass(UncheckedStoreTableViewCell.self, forCellReuseIdentifier: "StoreCell") 

introduzca la descripción de la imagen aquí

si no lo logging con el código, entonces obtengo:

'no puede eliminar una celda con el identificador StoreCell: debe registrar una punta o una class para el identificador o conectar una celda prototipo en un guión gráfico'

Entonces, cuando uso esto:

 override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { if indexPath.section == 0 { return super.tableView(tableView, cellForRowAtIndexPath: indexPath) } let cell = tableView.dequeueReusableCellWithIdentifier("StoreCell", forIndexPath: indexPath) as! UncheckedStoreTableViewCell return cell } 

Funciona. Pero si estoy tratando de cambiar la label: cell.myLabel.text = "one" o simplemente print(cell.myLabel) got

BAD_INSTRUCTION

  1. Definitivamente puede usar celdas dinámicas en una vista de tabla estática.
  2. No espere que una vista de tabla estática registre el identificador de su celda para usted. Solo hágalo usted mismo.
  3. ¿Tiene puntos de venta en la class de celda a alguna vista en el generador de interfaces? Si fuera usted, no esperaría que la vista de la tabla lo sepa. Instanciará tu class celular, y eso es todo. No se establecerán salidas. Creo que esto está relacionado: load nib in view subclass

Por cierto, si ha definido un .nib personalizado para su celda, existe este método: registerNib(_:forCellReuseIdentifier:)

No necesita registrar su celular en el código.

Has configurado correctamente el identificador de la celda, pero no es suficiente. Además de esto, también debe abrir Identity Inspector para su celda y configurar la class de celda para que sea UncheckedStoreTableViewCell . Aquí hay una image que te muestra dónde debes configurarla:

introduzca la descripción de la imagen aquí

Sin este paso, Xcode no podrá asociar correctamente su identificador de célula con su célula personalizada, ¡ya que no sabe nada al respecto!