美文网首页
在item-service模式中处理请求失败

在item-service模式中处理请求失败

作者: aspmcll | 来源:发表于2017-03-13 17:59 被阅读0次

    item-server简介

    item-service中,界面UI往往是更具服务器返回的数据来创建了,比如直播软件中那些分类信息。所以如果请求失败的话,界面则无法初始化。下面来谈谈对失败的处理。

    错误处理流程

    一般流程就是,在失败的时候创建一个view加到屏幕上,有一个供点击的按钮等其他信息,点击按钮重新发起请求。

    方案

    如果每个控制器都重复这个操作,添加视图,处理点击方法等,如果处理该类型问题的控制器一多,将非常繁琐。下面给出我对于这类问题的方案。

    • 首先得确保所有控制器继承于一个跟控制器BaseController
    • 自定义一个view,在失败的时候用来显示,该view和alertview差不多,提供一个show方法,调用该方法加入到keyWindow上。
    • BaseController 提供一个枚举类型属性eg:xxxFull,xxxNavc,xxxTabbar,来控制shouw的frame,子类根据自己的需求,实现其get方法即可
    • BaseController 提供一个公共的show方法,供子类调用,子类在调用show方法的时候,首先会访问一下上一步骤中返回的枚举值,根据该值来指定显示view的fame,创建自定义view,并show.
    - (void)show {
    
      customView = [customView alloc] init];
      if(self.type == xxx)
      customView.frame = xxx;
      [customView show];
    }
    
    • BaseController 处理view的点击动作,并转接到自己提供的一个公共方法中,如- (void)customErrorViewClick(BaseController中的为一个空的实现),子类重载该方法,进行对应逻辑的处理

    该父类的设计可以看出,封装了view的创建和显示,并回调相应动作给子类。

    相关文章

      网友评论

          本文标题:在item-service模式中处理请求失败

          本文链接:https://www.haomeiwen.com/subject/ytlqnttx.html