Ios 线程块中的UIAlert不与AFN网络一起工作

Ios 线程块中的UIAlert不与AFN网络一起工作,ios,multithreading,afnetworking-2,Ios,Multithreading,Afnetworking 2,我正在使用AFHTTPSessionManager的一个子类发出GET请求。我使用GCD将responseObject的一些处理发送到线程。如果responseObject没有返回任何字典,我希望得到一个警报,但这个警报永远不会显示。是线程问题还是responseObject的问题?如果我检查responseObject==nil,那么它将不起作用,因为即使responseObject中没有字典,也必须有某个对象,因为responseObject的类型是id。我认为这是问题所在,但不确定,因为线

我正在使用AFHTTPSessionManager的一个子类发出GET请求。我使用GCD将responseObject的一些处理发送到线程。如果responseObject没有返回任何字典,我希望得到一个警报,但这个警报永远不会显示。是线程问题还是responseObject的问题?如果我检查responseObject==nil,那么它将不起作用,因为即使responseObject中没有字典,也必须有某个对象,因为responseObject的类型是id。我认为这是问题所在,但不确定,因为线程使事情变得复杂。谢谢

[client GET:getString parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
        {
            NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)task.response;
            if (httpResponse.statusCode == 200) {
                dispatch_async(dispatch_get_main_queue(), ^{

                    if (responseObject == nil){

                          [message show];

                    }

关键是,您需要检查responseObject的类:

[client GET:getString parameters:nil success:^(NSURLSessionDataTask *task, id responseObject) {
    {
        NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)task.response;
        if (httpResponse.statusCode == 200) {
            if(![responseObject isKindOfClass:[NSDictionary class]]) {
               dispatch_async(dispatch_get_main_queue(), ^{

                      [message show];
           }