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 requestinnerhalb des Blocks zusammen.
responseDatastattdessenrawResponseDatadie ASIHTTPRequest-Dokumentation verwenden.