Ich versuche, einige Daten von meinem lokalen Knotenserver zu ziehen. Der Server erhält die Get-Anforderung und protokolliert sie, aber aus irgendeinem Grund führt meine iOS-App keinen Code aus, den ich im Completion-Handler habe. Hier ist der Code:NSURLSessionDataTask führt den Completion-Handler-Block nicht aus
- (IBAction) buttonPressed{
NSURL *url = [NSURL URLWithString:@"http://127.0.0.1:3000/"];
NSURLSessionDataTask *dataTask =
[self.session dataTaskWithURL:url
completionHandler:^(NSData *data,
NSURLResponse *response,
NSError *error){
nameLabel.text = @"yay!";
/*
if (!error){
nameLabel.text = @"noerr";
NSHTTPURLResponse *httpResp = (NSHTTPURLResponse *)response;
if (httpResp.statusCode == 200){
NSError *jsonErr;
NSDictionary *usersJSON =
[NSJSONSerialization JSONObjectWithData:data
options:NSJSONReadingAllowFragments
error:&jsonErr];
if (!jsonErr){
// nameLabel.text = usersJSON[@"username"];
nameLabel.text = @"nojerr";
}
else{
nameLabel.text = @"jsonErr";
}
}
}
else{
nameLabel.text = @"Err";
}
*/
}];
[dataTask resume];
}
Wenn das Programm ausgeführt wird, wird die nameLabel nicht geändert "yay". Wenn ich jedoch versuche, das nameLabel vor der NSURLSessionDataTask-Zeile zu ändern, wird es geändert.
Bitte wählen Sie die Antwort aus, wenn es Ihnen geholfen hat. Fühlen Sie sich frei zu kommentieren, wenn Sie noch Fragen bezüglich der Antwort haben. – wigging