Qual è l'equivalente di [[something retain] autorelease]
in ARC?Qual è l'equivalente di '[[something retain] autorelease]' in ARC?
Ho un problema in cui una classe DBRequest chiama il mio delegato per indicare il completamento. Il mio delegato quindi imposta l'istanza DBRequest su zero, che è dealloc. Ma poi quando la pila esce dal mio delegato e torna al DBRequest, ovviamente si blocca.
Se non fossi in ARC, nel mio delegato farei semplicemente il [[theDbRequest retain] autorelease]
prima di rilasciare il mio riferimento ad esso, in modo che sopravviva abbastanza a lungo fino al prossimo ciclo di esecuzione.
Cosa devo fare in ARC?
I * potrebbe * aprire il codice del dropbox e farlo ... speravo che ci sarebbe stato un modo per farlo senza bisogno di modificare il loro codice. – Chris
@Chris, Ok, non mi ero reso conto che quel bit era nel loro codice. Non sono sicuro, ma potresti essere in grado di inserire un __autoreleasing DBRequest * theDBRequest = dbRequest' nel tuo codice. –
Alla fine, è esattamente quello che ho fatto :) – Chris