Kopie gegen starke Eigenschaften [duplizieren]

8

Ich bin frischer in iOS und ich möchte wissen, dass wenn wir copy in einer Eigenschaft verwenden sollten, z. B.

%Vor%

vs

%Vor%

Was ist der Unterschied zwischen retain und copy , und wann sollte ich einen verwenden, aber nicht den anderen?

    
Krish Solanki 04.07.2015, 05:48
quelle

2 Antworten

9
%Vor%

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.

%Vor%

Wäre es nur beibehalten worden, hätte es die Abteilung von p1 geändert. In diesem Fall wird also eine Kopie bevorzugt.

    
Inder Kumar Rathore 04.07.2015 06:39
quelle
3

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.

    
Munahil 04.07.2015 06:16
quelle

Tags und Links