2010-10-01 15 views
5

Adjunté un volcado de pantalla para que todo sea más fácil de seguir.iPhone, ¿por qué no funciona UITableView reloadData?

Me he adjuntado mis salidas para la fuente de datos y delegado y yo hemos creado una salida para mi vista de tabla, pero reloadData no funciona?

Lo ideal sería sólo para llamar reloadData después de la vista se ha cargado una vez?

alt text

Respuesta

6

crear una propiedad para su UITableView y utilizar la propiedad como su IBOutlet, utilizando el Ivar directamente no es la manera de hacerlo. Vuelva a conectar las cosas y depúrela, para ver si su UITableView no es nulo.

Ponga un punto de interrupción en los métodos de fuente de datos UITableView para ver si se llaman, si es así, verifique si su transactionArray realmente contiene elementos.

Si esto no ayuda, usted tendrá que proporcionar más información, como los que están siendo llamados métodos y más código.

+0

Compruebe si su matriz realmente contiene datos nuevos/actualizados cuando se llama a su reloadData. –

+0

He depurado algo, la matriz se actualiza, pero cellForRowAtIndexPath no se llama, al regresar a la vista. Como digo, se ejecuta por primera vez cuando se carga la vista, pero no después. – Jules

+0

Tendrás que publicar fragmentos de código para que los echemos un vistazo. –

2

Si la vista principal de su UITableViewController es su vista de tabla, puede evitar el uso de IBOutlets y usar directamente la propiedad tableView de su controlador. De esta manera:

[self.tableView reloadData];

+0

Ok, he cambiado a self.tableview, dejé el poperty, outlet en su lugar, ¿necesito conectar algo más en IB? También al mirar los ejemplos que he visto, la fuente de datos y el delegado no parecen estar conectados, como se muestra en el volcado de pantalla, los he conectado. – Jules

+0

Mirando su captura de pantalla nuevamente, veo que tiene una UITableView dentro de una UIView genérica. Esto puede causar problemas. Le sugiero que haga que su controlador sea un UIViewController genérico que implemente TableViewDelegates. La salida de vista debe establecerse en UIView principal, y (como lo ha hecho) una salida debe señalar su UITableView. Establece las salidas de referencia nuevamente a su controlador y vuelva a intentarlo. – MaxFish

+0

Si se agrega la nueva fila, se está cargando la vista de tabla, asegúrese de que los datos estén correctos después de la edición. – MaxFish

Cuestiones relacionadas