Domanda

C'è qualcosa di sbagliato nel fare qualcosa come

  

NSString * string = [[NSString alloc] init];
   ...
   [rilascio stringa];

o c'è qualche valore (oltre alle best practice) anche nell'aggiunta

  

string = nil;

È stato utile?

Soluzione

Non necessario, ma buona pratica. Se dovessi fare riferimento inavvertitamente dopo il rilascio, potrebbero accadere cose brutte, ma nell'Obiettivo C non vi è alcun danno nel fare riferimento a zero.

Altri suggerimenti

L'impostazione di una variabile di istanza su zero è più utile in un'applicazione multi-thread rispetto a un'applicazione a thread singolo, poiché con più thread non è sempre possibile garantire che una variabile di istanza venga letta solo prima di è stato rilasciato.

In genere non mi preoccupo delle applicazioni a thread singolo, a meno che non ci siano altri motivi validi.

Objective-C è davvero lo stesso di C con un preprocessore di fantasia.

L'impostazione di un puntatore su zero in Objective-C non ha alcun effetto su ciò che una volta era indicato da quel puntatore.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top