2014-05-12 14 views

risposta

13

prestazioni saggio non v'è alcuna differenza.

La differenza principale è dove viene creato il nuovo controller di visualizzazione.

Con lo storyboard, l'oggetto non viene archiviato dallo storyboard prima di essere presentato.

Nel codice si dovrà creare il nuovo controller della vista come ...

ModalViewController *modal = [[ModalViewController alloc] init]; 

prima di presentarlo ...

[self presentViewController:modal animated:YES completion:nil]; 

Entrambi permettono di iniettare immobili a diversi anche modi.

Utilizzando il codice è necessario aggiungere il seguente sopra ...

// depends on property type etc... 
modal.someProperty = @"someValue"; 

Quando si utilizza un segue si dovrebbe fare questo ...

- (void)prepareForSegue:(UIStoryBoardSegue *)segue sender:(id)sender 
{ 
    if ([segue.identifier isEqualToString:@"modalSegue"]) { 
     // the view controller is already created by the segue. 
     // just grab it here first 
     ModalViewController *controller = segue.destinationViewController; 

     controller.someProperty = @"someValue"; 
    } 
} 

C'è una differenza?

Non proprio, solo le preferenze personali e alcuni approcci si prestano più facilmente a determinati modelli e usi di progettazione. Più usi, più imparerai quale approccio preferisci.

+0

Grazie. Preferisco usare UIStoryboardSegue in alcuni casi perché posso vedere più organizzato. Quindi, se uso UIStoryboardSegue ... C'è qualche differenza tra usare uwindsegue contro dismissViewControllerAnimated? –

+0

segui unwind sono belli perché consentono di eseguire il codice in base a come si elimina una vista. cioè si potrebbe avere un "annulla" e un "salvataggio" si svolgono. In questo modo puoi determinare se è necessario ricaricare lo schermo o no (ecc ...) – Fogmeister