Ho una classe singleton che accumula i dati finché questi dati non vengono scritti nel mio database (se si desidera sapere perché sto implementando le cose in questo modo, vedere here). Dopo aver salvato i dati, vorrei distruggere il singleton. Come posso farlo in ARC? O sono paranoico e devo assolutamente distruggerlo?iOS: Come posso distruggere un Singleton in ARC? Dovrei?
* Si potrebbe dire che questo è un duplicato di this domanda, ma la risposta accettata qui non è abbastanza specifica per essere utile. Dice "Puoi dichiarare un metodo/una funzione che chiami esplicitamente." Quale potrebbe essere il codice per questo aspetto? Se non riesco a rilasciare l'oggetto al di fuori di un metodo, come posso estrarlo all'interno di un metodo? Dice anche "Il modo più semplice è di tenere una classe C++ statica, quindi rilasciarla nel suo distruttore." Non conosco il C++, ma puoi davvero inserire una classe C++ nel codice della tua app?
mio Singleton è implementata in questo modo:
+(NHCFamilyStatus *)familyStatus
{
static dispatch_once_t pred;
static NHCFamilyStatus *familyStatusSharedObject=nil;
dispatch_once(&pred,^
{
familyStatusSharedObject = [[NHCFamilyStatus alloc] init];
});
return familyStatusSharedObject;
}
[Questo post vi aiuterà, si prega di fare riferimento ad esso come implementare correttamente il Singleton] [1] [1]: http://stackoverflow.com/questions/7598820/correct-singleton- pattern-objective-c-ios – chrislhardin
Perché si distrugge il singleton e non solo il buffer contenente i dati? – Jano
@Jano Potresti spiegare come posso distruggere quel buffer? – cmac