Angenommen, ich möchte eine schwache Referenz erstellen, so dass es nicht von einem Block beibehalten wird. Also ich habe eine Eigenschaft:Schwache Referenzen Rätsel
@property (nonatomic, strong) MyClass *myObject;
und ich dies tun:
__weak typeof(self.myObject) myObjectWeak = self.myObject;
void (^doSomething)() = ^void() {
[myObjectWeak doSomething];
};
aber was ist das:
__weak typeof(self) selfWeak = self;
void (^doSomething)() = ^void() {
[selfWeak.myObject doSomething];
};
Wird dies die gleiche Wirkung erzeugen? Ich meine, einen schwachen Bezug zu myObject innerhalb des Blocks zu haben? Ich vermute es ist nicht, aber ich muss es nur bestätigen.
Entschuldigung, ich hatte einen Tippfehler auf meine Frage. Ich meinte 'selfWeak.myObject' nicht' selfWeak.myObjectWeak'. Ich habe die Frage korrigiert. – SpaceDog
Danke. Bitte wandle diesen Kommentar in eine Antwort um, damit ich akzeptieren kann. – SpaceDog