Vai al contenuto

Ricaricare TableVievController dentro un container


Messaggi raccomandati

Ciao a tutti, 

 

ho una vista con all'interno un container che contiene un textfield, un button e un containerview che a sua volta contiene una tableviewcontroller.

Ecco uno screenshot per capire meglio: http://oi61.tinypic.com/kcf7tw.jpg

Quello che vorrei fare è che, alla pressione del pulsante, popolare la tabella in base al testo immesso nel textfield.

 

Per passare i valori dalla vista principale al container uso singletons, ma non riesco a capire come eseguire le istruzioni di popolamento ogni volta che premo il tasto.

 

Come faccio a fare capire al controller che contiene la tabella che è stato premuto il tasto, e che quindi deve ripopolare le righe?

 

Girando nei vari forum ho trovato questo codice da inserire nel controller principale ma non funziona (sicuramente sbaglio qualcosa).



UITableViewController *tbc;
[tbc.tableView reloadData];


 

Sapreste dirmi come posso fare?

 

Grazie mille anticipatamente a tutti!

Link al commento
Condividi su altri siti

 

Ciao a tutti, 
 
ho una vista con all'interno un container che contiene un textfield, un button e un containerview che a sua volta contiene una tableviewcontroller.
Ecco uno screenshot per capire meglio: http://oi61.tinypic.com/kcf7tw.jpg
Quello che vorrei fare è che, alla pressione del pulsante, popolare la tabella in base al testo immesso nel textfield.
 
Per passare i valori dalla vista principale al container uso singletons, ma non riesco a capire come eseguire le istruzioni di popolamento ogni volta che premo il tasto.
 
Come faccio a fare capire al controller che contiene la tabella che è stato premuto il tasto, e che quindi deve ripopolare le righe?
 
Girando nei vari forum ho trovato questo codice da inserire nel controller principale ma non funziona (sicuramente sbaglio qualcosa).
UITableViewController *tbc;
[tbc.tableView reloadData];
 
Sapreste dirmi come posso fare?
 
Grazie mille anticipatamente a tutti!

 

 

Detta così è un po' difficile da capire.

Allora, se utilizzi una containerview significa che assegni alla stessa un suo viewcontroller (che in tal caso, se non ho capito male, sarà un tableviewcontroller).

Se così è, quando vuoi "refreshare" il contenuto di quella tableview ti basterà chiamare sul tableviewcontroller il comando che hai detto.

Il problema con il codice che hai postato tu è che essenzialmente non fa proprio nulla. 

Tu dichiari un puntatore ad un UITableViewController ma neppure lo inizializzi. Pertanto è normale che non faccia nulla, in quanto mandi dei messaggi ad un puntatore nullo (e nell'objective c, mandare messaggi a puntatori nulli semplicemente non produce nessun risultato, e neppure lancia un'eccezione).

 

Quindi devi modificare quel codice assegnando al puntatore di tipo UITableViewController l'istanza dell'UITableViewController che hai inserito nella containerview.

Ancora meglio, visto che devi agire spesso sul tableviewcontroller, all'avvio del programma, quando inizializzi il containerview con l'uitableviewcontroller, salvati quest'ultimo in una variabile privata così da avervi accesso diretto e semplice ogni qualvolta ti serva.

Link al commento
Condividi su altri siti

Detta così è un po' difficile da capire.

Allora, se utilizzi una containerview significa che assegni alla stessa un suo viewcontroller (che in tal caso, se non ho capito male, sarà un tableviewcontroller).

Se così è, quando vuoi "refreshare" il contenuto di quella tableview ti basterà chiamare sul tableviewcontroller il comando che hai detto.

Il problema con il codice che hai postato tu è che essenzialmente non fa proprio nulla. 

Tu dichiari un puntatore ad un UITableViewController ma neppure lo inizializzi. Pertanto è normale che non faccia nulla, in quanto mandi dei messaggi ad un puntatore nullo (e nell'objective c, mandare messaggi a puntatori nulli semplicemente non produce nessun risultato, e neppure lancia un'eccezione).

 

Quindi devi modificare quel codice assegnando al puntatore di tipo UITableViewController l'istanza dell'UITableViewController che hai inserito nella containerview.

Ancora meglio, visto che devi agire spesso sul tableviewcontroller, all'avvio del programma, quando inizializzi il containerview con l'uitableviewcontroller, salvati quest'ultimo in una variabile privata così da avervi accesso diretto e semplice ogni qualvolta ti serva.

 

Grazie Kendall, ma non ho ben capito dove creare l'istanza del container view all'interno della vista principale.

 

Hai per caso un esempio oppure dei link di approfondimento?

Ti ringrazio.

PS: buona Pasqua a tutti anche se in ritardo!

Link al commento
Condividi su altri siti

Grazie Kendall, ma non ho ben capito dove creare l'istanza del container view all'interno della vista principale.

 

Hai per caso un esempio oppure dei link di approfondimento?

Ti ringrazio.

PS: buona Pasqua a tutti anche se in ritardo!

 

La ContainerView l'hai già creata tramite Interface Builder a quanto vedo. Quindi basta che ti crei un Outlet all'interno del tuo ViewController principale (quello che gestisce la vista principale) che punti alla ContainerView, e tramite quell'outlet vai ad inserire il tableviewcontroller dentro alla containerview.

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...