Ich bin frischer in iOS und ich möchte wissen, dass wenn wir copy
in einer Eigenschaft verwenden sollten, z. B.
vs
%Vor% Was ist der Unterschied zwischen retain
und copy
, und wann sollte ich einen verwenden, aber nicht den anderen?
ist besser, da NSString
unveränderlich ist und die untergeordnete Klasse NSMutableString
veränderbar ist.
Solange Sie NSString
durchgehend verwenden, sehen Sie keinen Unterschied. Aber wenn du NSMutableString
verwendest, können die Dinge etwas heikel werden.
Wäre es nur beibehalten worden, hätte es die Abteilung von p1
geändert.
In diesem Fall wird also eine Kopie bevorzugt.
Wenn NSString
mutable
ist, dann wird copied
. Wenn es nicht ist, dann ist es retained
Wenn Sie copy
verwenden, wird eine neue Kopie für die Zeichenfolge erstellt, daher auch eine andere Speicheradresse. Wenn Sie jedoch retain
verwenden, wird es sich in der gleichen Speicheradresse befinden, nur der Retain-Counter wird sich ändern.
Tags und Links objective-c iphone ios cocoa