2016-04-02 3 views
0

Ich habe versucht, die AFHTTPRequestOperation-Klasse zu verwenden, um Daten aus einer Online-PHP-Datei zu erhalten, aber ich hatte ein bisschen Ärger.setCompletionBlockWithSuccess funktioniert nicht

NSString *string = [NSString stringWithFormat:@"..."]; // i have a real url in place of the ...'s 
NSURL *url = [NSURL URLWithString:string]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]initWithRequest:request]; 
operation.responseSerializer = [AFXMLParserResponseSerializer serializer]; 
operation.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; 

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 
    _data = [[operation responseData]dict]; 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Problem... problem.\n%@", error); 
}]; 

[operation start]; 

Ich habe versucht, diesen Code verwenden, und es würde keine Fehler erstellen, aber wenn ich einen Haltepunkt an der Linie _data = [[operation responseData]dict]; setzen, würde ich es war leer zu finden. Jede Hilfe wäre willkommen. Vielen Dank.

S.S .: Dies ist kein Duplikat, also bitte versuchen Sie nicht, diese Frage als Duplikat zu markieren oder diese Frage abzustimmen; Ich werde ein paar Privilegien verlieren.

+0

können Sie ResponseObject überprüfen? –

+0

ja; responseObject hat eine Adresse. Allerdings habe ich keine genaue Möglichkeit, die Daten innerhalb von ResponseObject zu finden. –

+0

Können Sie das Protokoll von ResponseObject anzeigen? –

Antwort

1

versuchen, diese

NSString *string = [NSString stringWithFormat:@"..."]; // i have a real url in place of the ...'s 
NSURL *url = [NSURL URLWithString:string]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc]initWithRequest:request]; 
operation.responseSerializer = [AFXMLParserResponseSerializer serializer]; 
operation.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; 

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) { 

if(responseObject) 
{ 
    NSArray *arrData = [response allObjects]; 
    NSLog(@"Data = %@",arrData); 
} 
else 
{ 
    NSLog(@"response is empty"); 
} 

} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Problem... problem.\n%@", error); 
}]; 

[operation start]; 

Hoffnung, das hilft.

+0

Das hat perfekt funktioniert. Danke vielmals! :) –

+0

Ihre Begrüßung (y) –