Impossibile passare i messaggi tra il controller di visualizzazione principale e la vista popolare
-
29-10-2019 - |
Domanda
Non mi sembra di ottenere alcun tipo di comunicazione tra il mio controller di visualizzazione principale e un controller di visualizzazione della tabella che viene visualizzato all'interno di una vista popover (iPad).
Sto impostando la vista tabella all'interno di un controller di navigazione nel solito modo:
// create popover
if (self.popoverController == nil) {
filesViewController = [[[MyTableViewController alloc] initWithFiles:fileList] autorelease];
UINavigationController *navCtrl = [[[UINavigationController alloc] initWithRootViewController:filesViewController] autorelease];
self.popoverController = [[UIPopoverController alloc] initWithContentViewController:navCtrl];
self.popoverController.delegate = self;
// resize popover
self.popoverController.popoverContentSize = CGSizeMake(320.0, 44 + [fileList count] * 44);
}
Tutto funziona bene e sto passando una matrice di nomi di file (filelist) nella vista della tabella, che è tenuta nella vista tabella come un array chiamato ListOffiles. La visualizzazione della tabella visualizza i nomi di file e quando uno viene selezionato dall'utente, voglio passare quel nome file al controller di visualizzazione principale. Tuttavia, non riesco a ottenere alcuna comunicazione che torna indietro dal metodo DidSelecTRowATindexPath della vista della tabella al VC principale. Ho provato tutti i tipi di punti vendita in vari direzioni e ho provato a creare un nuovo oggetto in DidSelecTrowatIndexPath per gestire il nome file proveniente dalla vista del tavolo. Posso passare il nome file al nuovo oggetto, ma quando provo a inviarlo nel VC principale è di nuovo nullo. Tutto ciò che invito al mio VC principale mentre quel popover è attivo viene nullo.
- (void)popoverControllerDidDismissPopover:(UIPopoverController *)popoverController {
NSLog(@"%@", handler.addressForImageFile);
self.popoverController = nil;
[self.popoverController release];
}
C'è qualche motivo per cui il mio VC principale non riceverà altro che oggetti null dalla mia vista da tavolo? Ho trascorso giorni a provare così tante cose diverse. Mi sento come se ci sia un divario fondamentale nella mia conoscenza di come funzionano i popover. Sicuramente c'è un modo semplice per inviare una stringa al mio VC principale quando è selezionata dalla vista del tavolo?
Grazie mille per qualsiasi aiuto!
Soluzione
C'è un modo molto migliore per farlo, ma a seconda dell'obiettivo di passare la stringa, un modo potrebbe essere quello di usare NSUSERDEFAULS.