uitableviewcell example custom iphone debugging uitableview

iphone - example - Excepción de carga rara de UITableViewCell



uitableviewcell programmatically swift 4 (3)

En mi aplicación, uso un NIB personalizado para cargar mis UITableViewCells. El propietario del archivo de la NIB está configurado de modo que la clase sea mi controlador de vista. Luego vinculo el UITableViewCell al IBOutlet que coloco en el archivo de encabezado. Todo funcionaba bien, hasta que, de repente, dejó de funcionar, y aparece este error:

uncaught exception ''NSInvalidUnarchiveOperationException'', reason: ''*** -[NSKeyedUnarchiver decodeObjectForKey:]: cannot decode object of class (UITableViewCellContentView)''

He rastreado esta excepción a [NSBundle loadNibNamed: owner: options:]

static NSString *CellIdentifier = @"SubjectCell"; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; if (cell == nil) { [[NSBundle mainBundle] loadNibNamed:@"SubjectCell" owner:self options:NULL]; cell = customSubjectCell;

He intentado esto en dos dispositivos y en el simulador, pero todos tienen el mismo error. He descargado el nuevo SDK hoy, y creo que puede haber causado esto.

TENGA EN CUENTA:

Esta pregunta no está actualizada, y la solución a continuación fue una solución temporal. Apple ha corregido su SDK, por lo que si tiene la versión más reciente del SDK, esto no se aplica a usted.


Solución encontrada en los foros de desarrollo.

Crea estos archivos:

UITableViewCellContentView.h

#import <UIKit/UIKit.h> @interface UITableViewCellContentView : UIView { } @end

UITableViewCellContentView.m

#include "UITableViewCellContentView.h" @implementation UITableViewCellContentView + (id)alloc { return [UIView alloc]; } + (id)allocWithZone:(NSZone *)zone { return [UIView allocWithZone:zone]; } @end


UH oh. Estoy teniendo el mismo problema ... También estoy usando el nuevo SDK de hoy (28/01/2010). No puedo decir con seguridad si el código funcionaba antes, porque lo agregué DESPUÉS de actualizarlo al nuevo SDK.

¿Alguien más está viendo este problema ahora? ¿Alguna solución?

Actualización : acabo de cambiar el simulador a SDK 3.2 (desde 3.12), y Whattaya Know ... está funcionando ahora (en el iPhone y iPad simulador). Sin embargo, no funciona al compilar con SDK 3.12.

Mi conjetura es que IB está guardando el XIB en un nuevo formato para 3.2, tal vez? ¿Alguien sabe cómo forzarlo para guardar en el formato antiguo (3.12)? Esto definitivamente se siente como un error, ya que está rompiendo el código que funcionaba anteriormente.


Yo tuve lo mismo. Se instaló 3.2 beta de 3.1.2 y tuvo este error.

Al final esto lo solucionó: Reconstruir contra Simulator 3.1 y obtuve una versión funcional en el simulador. Después de esto, construye contra el simulador de trabajo 3.1.2.