Empfohlene Methode zu deklarieren delegieren Eigenschaften mit ARC
Ich verwendet, um zu deklarieren alle Delegierten-Eigenschaften wie
@property (assign) id<FooDelegate> delegate;
War ich unter dem Eindruck, dass alle Eigenschaften zuweisen, sollten nun die weak-Pointer, ist das richtig?
Wenn ich versuche, zu erklären, wie:
@property (weak) id<FooDelegate> delegate;
Bekomme ich eine Fehlermeldung beim Versuch @synthetisieren (automatisch generierte schwache Eigenschaften werden nicht unterstützt).
Was ist die beste Vorgehensweise in diesem Fall?
InformationsquelleAutor der Frage cfischer | 2011-10-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden
__unsafe_unretained
stattweak
für ARC-Projekte für iOS 4 und 5. Der einzige Unterschied ist, dassweak
nils den Zeiger, wenn freigegeben, und es ist nur unterstützt in iOS 5.Deine andere Frage wird beantwortet, in Warum sind Objective-C-Delegierten in der Regel gegeben die Eigenschaft zuweisen, statt zu bewahren?.
InformationsquelleAutor der Antwort Jano
Xcode 4 Umgestalten > Convert to Objective-C ARC verwandelt:
in:
Wenn ich mich richtig erinnere, es ist auch erwähnt in der WWDC 2011 video über ARC.
InformationsquelleAutor der Antwort djromero