7

Estoy creando una aplicación para iPad con vista dividida, aquí está la captura de pantalla, enter image description here En esta, quiero actualizar los valores en la tabla de la derecha, cuando cambio la pestaña en el controlador masterview (lado izquierdo) . ¿Cuál será el mejor enfoque, debería cargar otro viewcontroller para cada cambio de pestaña? ¿Es posible? O simplemente actualiza la tabla? Para todos los cambios de pestaña, quiero mostrar una tabla con diferentes datos. Utilicé el siguiente código, puedo ver los cambios en el registro, pero la tabla no se está actualizando.¿Cómo actualizar una UITableView en la vista detallada cuando se cambia la barra de pestañas en el controlador emergente?

- (void)setDetailItem:(id)newDetailItem 
{ 
    if (_detailItem != newDetailItem) { 
     [_detailItem release]; 
     _detailItem = [newDetailItem retain]; 

     // Update the view. 
     [self configureView]; 
    } 

    if (self.masterPopoverController != nil) { 
     [self.masterPopoverController dismissPopoverAnimated:YES]; 
    }   
} 

- (void)configureView 
{ 
    // Update the user interface for the detail item. 
    if (isStudent) { 
     textStr = @"student"; 
     NSLog(@"Student....%@",textStr); 
     [self.tableView reloadData]; 
    }if (isTeachers) { 
     textStr = @"teacher"; 
     NSLog(@"Teacher....%@",textStr); 

     [self.tableView reloadData]; 
    }if (isPreference) { 
     textStr = @"preference"; 
     NSLog(@"Preference....%@",textStr); 

     [self.tableView reloadData]; 
    }if (isConfiguration) { 
     textStr = @"configuration"; 
     NSLog(@"Configuration....%@",textStr); 

     [self.tableView reloadData]; 
    } 
} 

También me trataron

[self performSelectorOnMainThread:@selector(refreshTableView) withObject:nil waitUntilDone:NO]; 

Por favor comparta sus ideas. gracias :)

+0

Creo que no puedo actualizar ningún objeto en la interfaz. Traté de actualizar un UILabel, pero no pude. Pero puedo imprimir los cambios de estado en NSLog. – Mithuzz

Respuesta

4

Por fin encontré el problema yo mismo, y fui realmente genial para buscar una solución. He revisado varios foros y tutoriales. Finalmente descubrí el problema. Y en este video, han ilustrado cómo crear una aplicación SplitView usando XCode 4.2. En este caso, solo una línea de código solucionó el problema. Eso está en el archivo Appdelegate.m. De forma predeterminada, MasterViewController no tiene acceso a la vista de detalles, por lo que si tenemos que hacer algo en la vista de detalles, tenemos que conectar masterviewcontroller y detailviewcontroller. Verifique el video, luego lo entenderá (aquellos que enfrentan el mismo problema).

Gracias :)

Cuestiones relacionadas