2011-02-11 9 views
6

Tengo 10.000 filas en la tabla de la base de datos. Tengo una vista que se supone que debe listar todas estas filas en una vista de tabla. Pero cargar todo de una vez tarda años en aparecer en la tabla.¿Cómo implementar "Cargar más registros" en TableView en iPhone SDK?

¿Cómo podemos usar la función "Cargar más registros" que obtendrá 20 registros a la vez? Si el usuario desea ver más entradas, puede hacer clic en el botón "Cargar más registros" y se mostrarán los próximos 20 registros.

¿Tendré que modificar mi declaración de selección? ¿Qué otros cambios debo hacer para lograr esto?

Respuesta

5

UITableView reutiliza sus celdas. Esto significa que puede acceder dinámicamente a su base de datos cuando se llama al cellForRowAtIndexPath:; no es necesario que cargue los 10000 elementos a la vez, ni tampoco debe hacerlo. Espero que esto ayude, y que no malinterprete tu pregunta.

Esto es bastante básico para UITableView, pero debería comenzar. Lo siento, no sé mucho sobre Core Data o SQLite.

- (UITableViewCell *)tableView:(UITableView *)_tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 

    UITableViewCell *cell = [_tableView dequeueReusableCellWithIdentifier:CellIdentifier]; 
    if (cell == nil) { 
     if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad){ 
      cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell-iPad" owner:self options:nil] lastObject]; 
     } 
     else{ 
      cell = [[[NSBundle mainBundle] loadNibNamed:@"CustomCell" owner:self options:nil] lastObject]; 
     } 
    } 


// Do stuff, load database values, etc 

    return cell; 
} 
+0

¿cómo sería el código de muestra? ¿Puedes mostrarme? – meetpd

+0

@meetpd seguro, pero me gustaría pasar algún tiempo con la referencia de la clase: http://developer.apple.com/library/ios/#documentation/uikit/reference/UITableView_Class/Reference/Reference.html – jakev

0

@meetpd no es una respuesta solo una sugerencia.

Puede usar core data en lugar de sqlite. satisfará su requisito de obtener 20 registros. Reducirá su código base al 40% (como lo dijo Bard Larson en el desarrollo de la aplicación Advance Iphone). Es fácil de usar y más rápido que sqlite. Puede verificar el código de ejemplo de esta manera: enter image description here

Espero que esto le ayude a una gran cantidad de codificación.

+0

@meetpd: hiciste prueba los pasos anteriores? – kanmani

Cuestiones relacionadas