2011-11-20 17 views
12

Sto lavorando per compilare la vista tabella con una serie di dizionari. Il contenuto degli array e dei dizionari viene analizzato senza problemi. Tuttavia, la tabella viene popolata con il numero [array count] di celle con contenuto con l'indice 0 dell'array. Mi sembra che indexPath.row restituisca 0 per tutte le celle. Come faccio a popolare ogni cella con l'indice corrispondente?indexPath.row è sempre 0

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 
{ 
static NSString *CellIdentifier = @"Cell"; 

UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
if (cell == nil) { 
    cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier]; 
} 


// Configure the cell... 
NSDictionary *term = [self.terms objectAtIndex:indexPath.row]; 
cell.textLabel.text = [term objectForKey:@"content"]; 
cell.detailTextLabel.text = [term objectForKey:@"created"]; 

return cell; 
} 

Grazie mille!

Edit: Ecco quello che ho ottenuto per la registrazione indexPath

2011-11-21 03: 07: 58,025 Demo [21269: F803] 2 indici [0, 0]

2011-11 -21 03: 07: 58,027 Demo [21269: F803] 2 indici [1, 0]

Sembra come il primo indice è l'aggiornamento, mentre il secondo non lo è.

Quando mi sono collegato indexPath.row, tuttavia

2011-11-21 03: 19: 40,306 Demo [21546: F803] 0

2011-11-21 03: 19: 40,308 Demo [21546: f803] 0

Quindi, cosa devo usare per ottenere il valore che si sta incrementando?

Grazie ancora per l'aiuto.

+2

uso 'indexPath.section' –

risposta

36

Questo blocco di codice sembra a posto. Forse la tua vista tabella ha più sezioni con una fila ciascuna? Cosa stai restituendo per i metodi dell'origine dati tableView:numberOfRowsInSection: (dovrebbe essere [self.terms count] ) e numberOfSectionsInTableView: (dovrebbe essere 1).

Se questi sono OK, inserire NSLog(@"%@",indexPath); da qualche parte nel metodo e inviare l'output nella domanda.

+0

Ecco quello che ho per la registrazione indexPath: 2011-11-21 03: 07: 58.025 Demo [21269: F803] 2 indici [0, 0] 2011-11-21 03 : 07: 58.027 Demo [21269: f803] 2 indici [1, 0] Ho solo una sezione nella tabella e restituisco i valori corretti per 'tableView: numberOfRowsInSection:' e 'numberOfSectionsInTableView:' –

+3

@SimonLee - la registrazione che stai vedendo dice che la vista tabella richiede la sezione 0, la riga 0, quindi la sezione 1, la riga 0. Quindi non penso che tu abbia la giusta implementazione per i tuoi metodi di righe e sezioni - puoi includere quelli in la domanda? – jrturton

+4

@jrturton Grazie per l'attenzione! Risulta che ho implementato le righe in sezioni e sezioni in righe. Tutto funziona bene dopo averli scambiati. Stupido errore! –

11

Ho appena avuto un problema simile (indexPath.row è sempre stato 0) e ho notato quanto ero un idiota. Nel mio numberOfSectionsInTableView stavo restituendo il [dataSet count] e nel mio tableView:numberOfRowsInSection stavo ritornando 1. Dovrebbe essere il contrario. Oops!

+0

Anche io ... questo è lol !!! – Dmitry

+0

Non è l'unico idiota in circolazione :). Grazie –

Problemi correlati