Was ist der Unterschied zwischen 'schwach' und 'zuweisen' in der Delegate-Property-Deklaration?
Was ist der Unterschied zwischen diesem:
@property (nonatomic, weak) id <SubClassDelegate> delegate;
und so:
@property (nonatomic, assign) id <SubClassDelegate> delegate;
Ich wollen, verwenden Sie die Eigenschaft für die Delegierten.
InformationsquelleAutor der Frage Firdous | 2012-02-24
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der einzige Unterschied zwischen
weak
undassign
ist, wenn das Objekt eineweak
Eigenschaft verweist, freigegeben wird, dann wird der Wert derweak
Zeiger aufnil
so dass Sie niemals Gefahr laufen, den Zugriff auf Müll. Wenn Sieassign
das wird nicht passieren, also, wenn das Objekt wird freigegeben, aus unter Ihnen und Sie versuchen, darauf zuzugreifen, Sie zu Müll.Für Objective-C-Objekte, wenn Sie in einer Umgebung, wo Sie verwenden können
weak
dann sollten Sie es verwenden.InformationsquelleAutor der Antwort yuji