2012-03-28 9 views
1

ich verwende ASIHTTPRequest in meiner iOS APP. ich tue wie folgt aus: .hWarnungen ASIHttpRequest

@interface MyClassr 
    ASIFormDataRequest *currentRequest; 
} 

NSURL *url = [NSURL URLWithString:requestUrl]; 
currentRequest = [ASIFormDataRequest requestWithURL:url]; 
[email protected]"GET"; 
currentRequest.delegate =self; 

[currentRequest setCompletionBlock:^{ 
    listesRestaurants = [XMLParser parseRestaurantResponse:[currentRequest responseData]]; 
    NSLog(@"%@",[currentRequest responseString]); 
    if (apDelegate.modeGeoloc) { 
     [map removeAnnotations:map.annotations]; 
     [self addAnnotation]; 
     [self calculDistance]; 
    } 

und ich habe eine warnign in der Zeile: [currentRequest setCompletionBlock:^ // Block wird durch ein Objekt stark zurückgehalten durch das aufgenommene Objekt

// Capturing ‚Selbst beibehalten werden 'stark in diesem Block wird wahrscheinlich zu einem Retain-Zyklus führen

Wie kann ich diese Warnung bitte korrigieren?

Antwort

1

Sie benötigen einen schwachen Verweis auf Selbst erstellen:

__weak MyClassr* blockSelf = self; 

und dann diese Referenz in Ihrem Block verwenden:

[blockSelf addAnnotation]; 
[blockSelf caculDistance]; 

usw.