l'operazione di copia/mutableCopy incrementa il valore di conteggio ?? (Objective C)l'operazione di copia/mutableCopy incrementa il valore di conteggio ?? (Obiettivo C)
18
A
risposta
29
Le normali semantica di copy
e mutableCopy
sono di restituirvi un oggetto conservato, proprio come la creazione di una nuova via alloc
/init
avrebbe. Non aumentano il conteggio dei riferimenti dell'oggetto da copiare, se è quello che stai chiedendo. Dal NSObject
documentation per copy
:
Se si utilizza memoria gestita (non garbage collection), questo metodo mantiene il nuovo oggetto prima di restituirlo. L'invocatore del metodo, tuttavia, è responsabile del rilascio dell'oggetto restituito.
Problemi correlati
- 1. Obiettivo c - Conteggio di riferimento
- 2. ottenendo lunghezza/conteggio NSArray - Obiettivo C
- 3. Obiettivo C come ottenere il valore numerico di una UITextPosition
- 4. Incrementa il valore int di un numero intero?
- 5. Incrementa un valore Hex (JAVA)
- 6. Obiettivo-C uso di puntatori
- 7. l'applicazione Web di esempio guidata da python twisted incrementa il conteggio delle richieste per 2, perché?
- 8. Incrementa un valore in un oggetto nidificato?
- 9. Incrementa il campo ID autoincremento di uno
- 10. Obiettivo c - qualcosa come c?
- 11. Obiettivo c divisione di due interi
- 12. Obiettivo C - Passaggio per valore e passaggio per riferimento
- 13. best practice di registrazione obiettivo-c
- 14. Obiettivo C - Classe KeyValuePair?
- 15. Lettura dal file di testo - Obiettivo C
- 16. Metodo di test unitario privato - obiettivo C
- 17. Programmazione di applicazioni Web con obiettivo-c?
- 18. Corrispondenza NSArray di caratteri Obiettivo-C
- 19. Conteggio di riferimento atomico
- 20. in c obiettivo
- 21. Obiettivo C: Confrontando CGPoints
- 22. Implementazione obiettivo-c Blowfish
- 23. Obiettivo API Volunteermatch C
- 24. Elenco di prefissi obiettivo-c già utilizzati
- 25. Obiettivo C: ARC con IVars dichiarato nel file di implementazione
- 26. conteggio max per il conteggio (*)
- 27. Numero di parole di conteggio in C#
- 28. dplyr numero di conteggio di un valore specifico della variabile
- 29. SELEZIONA MAX DI CONTEGGIO
- 30. COUNT() funzione ogni volta o memorizza il valore e lo incrementa di uno?
+1, tranne che in alcune circostanze ("copia" di un oggetto immutabile, ad esempio), invocando "copia" può solo incrementare il conteggio di ritenzione e restituire lo stesso oggetto. (tuttavia, le stesse regole di gestione della memoria si applicano ancora, ovviamente) –
+1 @Dave, assolutamente vero. Non c'è alcuna differenza pratica per il chiamante, però. –
Ancora più importante, il conteggio dei ritardi preciso è un dettaglio di implementazione a cui il programmatore non dovrebbe pensare. Quando "copi", puoi trattarlo come un nuovo oggetto con un conteggio di ritenzione pari a 1 in qualsiasi programma corretto. Il conteggio dei ritiri effettivi non è essenzialmente affar nostro. – Chuck