• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 向 JSON Web 服务检索失败发送空值或无值

[复制链接]
菜鸟教程小白 发表于 2022-12-13 04:30:39 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有 2 个网络服务,其中一个检索所有图像,另一个检索来自网络服务的过滤图像。
当应用程序加载它调用检索所有图像的网络服务。当用户应用过滤器时,它会检索过滤后的图像。但我面临的问题是:

问题陈述:
当用户选择至少一个过滤器时,它工作正常。但是当用户取消选择(意味着没有选择任何过滤器)时,它会失败。我的 Web 服务的编码方式是,当没有传递任何参数时,它应该返回所有图像,但它没有。我希望它再次加载所有图像网络服务。

附代码说明:

[operation GET"stock_search" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject)
     {
       //  operation is AFHTTPRequestOperationManager
         NSMutableArray *temGalArray = [responseObject objectForKey"data"];
         [imageArray removeAllObjects];
         for (NSDictionary *myDict in temGalArray)
         {      
             id object = [myDict objectForKey"square_image"];

             if ([myDict objectForKey"square_image"]!=[NSNull null])
             {
                 [imageArray addObject:myDict]; //this works fine
             }
             else if([object isEqual:[NSNull null]])
             {
                 [self getGalleryFromWeb]; //***PROBLEM IS HERE***
                 //1: This condition is never true
                 //2: Self.getGalleryFromWeb is the webserivce that get 
                 //   all the images from web. There is no issue in that webservice
             }
         }
         [galleryView reloadData];
     }
           //It always loads failure code below
           failure:^(AFHTTPRequestOperation *operation, NSError *error)
     {
         UIAlertView *alertView = [[UIAlertView alloc] initWithTitle"Error Applying Filters"
                                                             message"Check Your Internet Connection"
                                                            delegate:nil
                                                   cancelButtonTitle"OK"
                                                   otherButtonTitles:nil];
         [alertView show];
     }];
}

那么我应该在“else if”下写什么,这样如果没有选择过滤器值,它会再次加载所有图像,就像加载应用程序时一样。我希望我已经解决了我的问题,因为这是我的第一个问题,所以如果有什么我想念的,我已经准备好提供。



Best Answer-推荐答案


当您获得选择时,检查您过滤的数组计数,如果它>0,则不要调用任何网络服务。 这样您之前加载的图像将不会刷新。仅当数组计数大于 >0 时才调用过滤后的 Web 服务,然后重新加载您的数据。

关于ios - 向 JSON Web 服务检索失败发送空值或无值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27793895/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap