Domanda

Sto cercando di spingere una nuova visione sul mio controller di navigazione utilizzando:

    -(IBAction)switchPage:(id)sender
{
 MyTableViewController *myTableView = [[CMyTableViewController alloc] initWithNibName:@"MyTableView" bundle:[NSBundle mainBundle]];
 [myTableView release];
 [self.navigationController pushViewController:myTableView animated:YES];
}

Sono in esecuzione nella seguente errore:

2010-02-25 21:19:57.717 CoC[3399:20b] *** -[UIViewController switchPage:]: unrecognized selector sent to instance 0xf1a660
2010-02-25 21:19:57.718 CoC[3399:20b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[UIViewController switchPage:]: unrecognized selector sent to instance 0xf1a660'
È stato utile?

Soluzione

si stanno rilasciando un oggetto che avete appena assegnato, che non ha alcun senso.

 MyTableViewController *myTableView = [[CMyTableViewController alloc] initWithNibName:@"MyTableView" bundle:[NSBundle mainBundle]];
     [myTableView release];

rilascio myTableView dopo aver premuto in pila

Altri suggerimenti

rilascio di chiamata dopo la spinta.

2010-02-25 21: 19: 57,717 CoC [3399: 20b] * ** - [UIViewController switchPage:]: selettore non riconosciuto inviato ad esempio 0xf1a660

Il tuo incidente non a causa del codice di quello che hai detto. Ma c'è un bug nel codice come si stampa e thenpush. Modificare come:

 -(IBAction)switchPage:(id)sender
{
 MyTableViewController *myTableView = [[CMyTableViewController alloc] initWithNibName:@"MyTableView" bundle:[NSBundle mainBundle]];
 [self.navigationController pushViewController:myTableView animated:YES];
 [myTableView release];
}

Credo che l'oggetto che si chiama "switchPage:" Metodo sta avendo qualche problema. Controllare o mostrare l'invocazione di questo metodo per qualsiasi aiuto

Saluti, Manjunath

Sopra è bene, quando il controller visualizzazione secondaria è stato spinto nella pila del nav, il conteggio mantenere dovrebbe essere aumentato, allora si dovrebbe rilasciarlo dopo l'operazione di spinta.

Sei sicuro che non è necessario scambiare ultime due righe? Primo controller di spinta, quindi rilasciarlo non viceversa ...:)

Come accennato in precedenza, si rilascia il controller della vista, prima di spingerlo. Quando si spingerlo verso il controller di navigazione, il conteggio mantenere è aumentato, e quindi è possibile rilasciarlo.

-(IBAction)switchPage:(id)sender
{
     MyTableViewController *myTableView = [[MyTableViewController alloc] initWithNibName:@"MyTableView" bundle:[NSBundle mainBundle]];
    [self.navigationController pushViewController:myTableView animated:YES];
    [myTableView release];
}
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top