6

So che ci sono state numerose annotazioni su "forte" o "debole". Ma tutti i documenti dicono che entrambi sono sinonimi al 100% l'uno dell'altro e puoi usare "forte" in sostituzione di "conserva" e viceversa.Forte vs Mantieni in ARC

La mia domanda è: se sono uguali, perché Apple ha introdotto la nuova parola chiave "forte"? Ho testato entrambi in un progetto di esempio, e sia gli attributi di proprietà "strong" che "retain" sembrano fare la stessa cosa. Non pensi che se Apple avesse introdotto l'attributo 'forte', non dovrebbe consentire l'uso dell'attributo 'conserva'? O mi sta sfuggendo qualcosa?

+1

http://stackoverflow.com/questions/8927727/objective-c-arc-strong-vs-retain-and-weak-vs-assign –

+1

i 'strong' e' retain' sono praticamente gli stessi, ma perché in ARC non ti devi preoccupare degli oggetti _retaining-releasing_, 'forte' è logicamente molto più appropriato per una proprietà in ARC ... come in MRR il' retain' ha l'equivalente opposto di 'release' o' autorelease', in ambiente ARC il 'forte' non ha un equivalente del tutto opposto, questo è il motivo per cui logicamente più corretto usare' forte' invece di 'retain' in ARC; se questo ha senso per te. – holex

+0

@Katoch Ho letto che punta alla stessa cosa forte = ritengo di aver capito. Ma la domanda è perché creare un dubbio in mente dello sviluppatore (anche se io uso sempre forte) poiché il retain era qualcosa relativo alla gestione manuale della memoria, avrebbero dovuto interrompere completamente l'uso di retain in progetti ARC, perché ha ancora il suo posto in ARC ? – IOSCODER

risposta

9

retain è un residuo dei giorni precedenti all'ARC in cui si aumentava/diminuiva un oggetto retain count a seconda che si volesse che rimanesse in memoria.

Ovviamente con ARC non ci si deve più preoccupare di questo e ho il sospetto che retain potrebbe semplicemente essere stato lasciato in uso per la facilità di utilizzo dei programmatori obiettivo-c più esperti.

Le parole chiave più prevalenti con arco sono: (strong, weak, nonatomic, readonly, copy).

+0

sì, finalmente penso che possiamo dare questa spiegazione. – IOSCODER

Problemi correlati