我已经创建了请求,我想在收到成功消息作为响应时弹出 View 。这是我的代码:
NSURLSession *session = [NSURLSession sharedSession];
NSString *baseURLRequest = [NSString stringWithFormat:@"%@/email_addr=%@",mySession.baseURL,self.txtEmail.text];
NSURLSessionDataTask *dataTask = [session dataTaskWithURL:[NSURL URLWithString:baseURLRequest] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:nil];
NSDictionary *dict = [json objectForKey:@"result"];
NSString *msg = [dict objectForKey:@"msg"];
if ([[dict objectForKey:@"status"] isEqualToString:@"success"])
{
dispatch_async(dispatch_get_main_queue(), ^{
[self showMesssgeonAlert:@"Success"];
[self hideProgress];
[self.navigationController popViewControllerAnimated:YES];
});
}
else
{
}
}];
[dataTask resume];
下面不工作,
[self.navigationController popViewControllerAnimated:YES];
有人知道为什么会这样吗? UINavigation controller
对于 viewControllers
也是一样的。请帮助我,谢谢。
最佳答案
@DevTest 你不能放 [self.navigationController popViewControllerAnimated:YES];在 dispath queue 里面,queue 不会弹出 viewcontroller 所以,你会设置 side dispatch queue...
关于ios - popViewController 在 iOS 中的 NSURLSessionDataTask block 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37290753/