Ich studiere die AFNetworking
(3.0) Quellcodes. Ich stelle fest, dass Verfahren in AFURLSessionManagerTaskDelegate
‚sWarum __weak __typeof __ (Aufgabe) weakTask = Aufgabe in AFURLSessionManagerTaskDelegate?
- (void)setupProgressForTask:(NSURLSessionTask *)task {
__weak __typeof__(task) weakTask = task;
...}
die weak
Task verwendet. Ich weiß, dass der untere Codeblock einen starken Bezug auf die Aufgabe haben wird, das bedeutet AFURLSessionManagerTaskDelegate
wird stark halten Aufgabe, wenn nicht schwache Aufgabe verwenden.
Aber die Aufgabe nicht stark halten AFURLSessionManagerTaskDelegate
, gibt es keine Zirkelreferenz.
Warum also muss eine schwache Aufgabe sein?