Wie kann in ARC-fähigem Code eine Warnung über einen möglichen Aufbewahrungszyklus behoben werden, wenn eine blockbasierte API verwendet wird?
Die Warnung:
Capturing 'request' strongly in this block is likely to lead to a retain cycle
produziert von diesem Codeausschnitt:
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:...
[request setCompletionBlock:^{
NSDictionary *jsonDictionary = [[CJSONDeserializer deserializer] deserialize:request.rawResponseData error:nil];
// ...
}];
Die Warnung hängt mit der Verwendung des Objekts request
innerhalb des Blocks zusammen.
responseData
stattdessenrawResponseData
die ASIHTTPRequest-Dokumentation verwenden.