Se si utilizza uno storyboard, probabilmente non si dovrebbe usare alloc
e init
per creare un nuovo controller di visualizzazione. Invece, guarda il tuo storyboard e trova il segue che vuoi eseguire; dovrebbe avere un identificatore univoco (e in caso contrario, è possibile impostarne uno nella barra laterale destra).
Una volta trovato l'identificatore che segue, invia il tuo corrente del controller vista un messaggio -performSegueWithIdentifier:sender
:
[self performSegueWithIdentifier:@"mySegueIdentifier" sender:self];
Questo farà sì che la storyboard creare un'istanza di un AddTaskViewController e presentarlo nel modo in cui si ho definito per quel seguito.
Se, d'altra parte, non si sta usando uno storyboard a tutti, allora avete bisogno di dare il vostro AddTaskViewController qualche tipo di interfaccia utente. Il modo più comune di farlo è quello di inizializzare il controller con un pennino: invece di chiamare init
, potrai chiamare -initWithNibName:bundle:
e fornire il nome di un file .xib che contiene l'interfaccia utente aggiuntivo compito:
AddTaskViewController *add = [[AddTaskViewController alloc]
initWithNibName:@"AddTaskView" bundle:nil];
[self presentViewController:add animated:YES completion:nil];
(Ci sono altri modi (meno comuni) di ottenere una vista associata al nuovo controller di visualizzazione, ma probabilmente questo ti presenterà il minimo problema per riuscire a lavorare.)
Questa non è una domanda Xcode. Inoltre, non ho potuto dedurre cosa intendi per "l'altro controller è nulla", quindi l'ho lasciato intatto. –