Domanda

Quando faccio un NSArray utilizzando + [NSArray arrayWithObjects:], vuol copiare quegli oggetti? Se io rilasciare gli oggetti dopo aggiungendoli alla matrice, posso incorrere in problemi?

È stato utile?

Soluzione

No, non li copia. Li conserva. Sì, è possibile rilasciare in modo sicuro gli oggetti dopo aggiungendoli alla matrice.

la documentazione , come sempre, spiegare tutto questo in modo molto chiaro:

  

Arrays mantenere forti riferimenti al loro contenuto in un ambiente di memoria gestita, ciascun oggetto riceve un messaggio conservare prima della sua id viene aggiunto all'array e un messaggio di rilascio quando viene rimosso dalla matrice o quando la matrice si rilascia. Se si desidera una collezione con semantica diversa oggetto di proprietà, è possibile utilizzare CFArray di riferimento, NSPointerArray o NSHashTable invece.

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