我正在使用AFHTTPSessionManager的子类来发出GET请求。我使用GCD将一些responseObject处理发送给一个线程。如果responseObject没有返回字典,我想要一个警报,但这个警报永远不会显示。它是线程还是responseObject的问题?如果我检查responseObject == nil,那么它就不会工作,因为必须有一些对象,即使它没有字典,因为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];
}
答案 0 :(得分:0)
关键是,你需要检查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];
}