Domanda

Sto avendo dei problemi con la visualizzazione dei risultati da un datasource. Questo codice mostrerà un risultato diverso (e corretta) nella console, ma si traduce in tutti i tipi di merda casuale nel simulatore.

( "risultati" è una proprietà NSMutableArray per la classe.)

-(void) handleSearchForKeywords: (NSString *) keywords {
    [results removeAllObjects];
    int r = rand() % 10;
    for( int i = 0; i < r; i++ ) {
        [results addObject:[NSString stringWithFormat:@"test %i: %@", i, keywords]];
    }
    [self reloadTheTable];
}

-(void) reloadTheTable {
    NSLog( @"current array contents: %@", results );
    [tableView reloadData];
}

Sto indovinando che questo potrebbe avere qualcosa a che fare con la conservazione della memoria della matrice, o le stringhe nella matrice? Ho paura che non ho ancora ottenuto il blocco di questo.

[modifica in risposta a Marc Bessey - Credo che tutto qui è i vostri metodi di origine dati di base]

-(NSInteger) tableView: (UITableView *) tableView numberOfRowsInSection: (NSInteger) section {
    return [results count];
}

-(UITableViewCell *) tableView: (UITableView *) tableView cellForRowAtIndexPath: (NSIndexPath *) indexPath {
    static NSString *SearchViewControllerCell = @"SearchViewControllerCell";
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier: SearchViewControllerCell];
    if( cell == nil ) {
        cell = [[[UITableViewCell alloc] initWithFrame: CGRectZero reuseIdentifier: SearchViewControllerCell] autorelease];
        NSUInteger row = [indexPath row];
        [cell setText:[results objectAtIndex:row]];
    }
    return cell;
}
È stato utile?

Soluzione

Non credo che il problema sia nel codice che hai postato. E 'più probabile che nel codice che implementa l'origine dati per la visualizzazione della tabella.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top