ローカルノードサーバーからデータを取得しようとしています。サーバーはget要求を取得してログに記録していますが、何らかの理由でiOSアプリケーションが完了ハンドラ内にあるコードを実行しません。NSURLSessionDataTaskが完了ハンドラブロックを実行していません
- (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];
}
プログラムが実行されると、nameLabelが「イェーイ」に変更されていません。ここでは、コードです。 NSURLSessionDataTask行の前にnameLabelを変更しようとすると、変更されます。
助けがあれば、以下の回答を選択してください。答えに関連する質問がまだ残っている場合は、お気軽にコメントしてください。 – wigging