avevo bisogno di fare un UIAlertView
per la mia app, e mi sono imbattuto in this articolo che descrive come farlo. Da allora ho apportato alcune modifiche, ma il fatto più importante rimane che questa classe non funziona come un avviso "Fuoco e dimentica", come fa lo UIAlertView
, perché ARC non consente di chiamare retain
."Fuoco e dimenticare" di classe in ARC
Quindi, fondamentalmente, voglio essere in grado di utilizzare la mia vista avviso personalizzato allo stesso modo di un normale visualizzazione degli avvisi, quindi posso creare e visualizzare uno come questo:
CustomAlertView *alert = [[CustomAlertView alloc] init];//Init presumably does the view setup
[alert show];
Quindi la mia domanda è, come posso ottenere questo oggetto di non deallocare non appena esce dall'ambito quando si lavora in un progetto ARC, senza creare un riferimento strong
ad esso nella classe chiamante?
EDIT
Suppongo che sia importante ricordare, che, al fine di ottenere la piena libertà di vista personalizzazione che volevo, ho dovuto fare questo una nuova classe ViewController, è NON una sottoclasse di UIAlertView
EDIT 2
mi dispiace, non ho guardare il mio legame troppo da vicino, ho avuto il tutorial sbagliato legata in origine. THIS è il tutorial corretto che ho basato la mia vista su
[show] esegue il dump del conteggio ref, quindi la variabile locale non è più l'unica maniglia dell'oggetto. Fuoco e dimentica. –
Non è una sottoclasse, il suo nuovo controller di visualizzazione può essere istanziata da un pennino, o da una scena storyboard –
UIAlertView funziona aggiungendo un altro 'UIWindow' sulla gerarchia della finestra, il che rende UIWindow in grado di mantenerlo. Prova a simulare questo comportamento nella tua applicazione. –