Aiuto per inserire una nuova sezione in un TableView

voti
5

Ognuno continuare a scrivere sulla cancellazione di un capitolo. Beh, io non riesco a ottenere una aggiunto.

Attualmente, sto provando come questo (che fallisce con NSInternalInconsistencyException):

UITableView *tv = (UITableView *) self.tableView;

if ([tv numberOfSections] == 1)
{
     [tv beginUpdates];
     [tv insertSections:[NSIndexSet indexSetWithIndex:0] withRowAnimation:UITableViewRowAnimationTop];

     NSLog(@Inserted.. Brace for impact.);
     [tv endUpdates];
}

NSLog(@Section count after update: %d, [tv numberOfSections]); // Never reached

Se ho ragione, l'inserimento di una sezione con indice 0 dovrebbe collocare al vertice, urtando tutte le altre sezioni giù, destra? Beh, se scrivo i numberOfSections subito dopo i insertSections, sembra che vi sia alcun cambiamento nel numero di sezioni.

Qualche idea?

Johan

È pubblicato 30/03/2009 alle 16:25
fonte dall'utente
In altre lingue...                            


3 risposte

voti
3

Sì, grazie a tutti e due.

Dopo un po 'di giocoleria, sono finalmente riuscito a farlo funzionare. E 'stata una combinazione di entrambi i vostri suggerimenti. I nuovi dati sono stati mai inseriti, ma anche io non c'era bisogno di aumentare il numero di riga per il primo elemento inserito, ma solo il secondo.

Risposto il 08/04/2009 a 07:43
fonte dall'utente

voti
2

È necessario aggiornare il numberOfSectionsInTableView messaggio del UITableViewDataSource di classe.

Risposto il 30/03/2009 a 16:34
fonte dall'utente

voti
2

Hai aggiornato anche l'origine dati? Non si può semplicemente aggiornare la visualizzazione della tabella senza aggiornare anche i dati sottostanti.

Risposto il 30/03/2009 a 16:29
fonte dall'utente

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more