我需要在GCD块中的NJSONSerialization调用中显示错误。我想创建一个警报,告诉用户检查他们的互联网连接,然后检查错误代码:
这是我的一些代码:
这是为了加强不在主线程上的块:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void)
然后我有了这个
NSMutableDictionary *responseObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error: &error];
现在我猜错误存储在&错误中,但是如何在该块中的警报中显示错误?
一些代码将是辉煌的。
谢谢
答案 0 :(得分:1)
你做这样的事......
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^(void) {
NSError *error = nil;
NSMutableDictionary *responseObject = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error: &error];
if (error) {
// you have to show the alert on the main thread
dispatch_async(dispatch_get_main_queue, ^(void) {
[[[UIAlertView alloc] initWithTitle:@"Error" message:error.userInfo delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] show];
});
}
});
您可能希望根据错误显示自己的消息,而不是仅显示错误。