Es gibt zwei neue Speicherverwaltungsattribute für Eigenschaften, die von ARC eingeführt wurden, strong
y weak
.
Abgesehen von copy
was natürlich etwas völlig anderes ist, Gibt es Unterschiede zwischen strong
gegen retain
y weak
gegen assign
?
Nach meinem Verständnis besteht der einzige Unterschied darin, dass weak
wird zuweisen nil
auf den Zeiger, während assign
nicht, was bedeutet, dass das Programm abstürzt, wenn ich eine Nachricht an den Zeiger sende, nachdem er freigegeben wurde. Aber wenn ich weak
wird dies niemals geschehen, da die Nachricht an nil
wird nichts bewirken.
Ich weiß nicht, ob es Unterschiede gibt zwischen strong
y retain
.
Gibt es einen Grund, warum ich die assign
y retain
in neue Projekte einfließen, oder werden sie veraltet sein?