git仓库地址:https://github.com/593980284/MessageModel
问题:
1.在实际的开发中,我们会碰到进入一个页面,会同时请求多个接口,有的接口需要token/cookie、有的不需要。或者点击按钮调用的接口也需要token/cookie。如果此时token/cookie是失效的,那么需要跳转的登录页面(一般这样的跳转操作都封装网络请求里面)。然后需要刷新前一个页面,或者调用按钮的点击事件。(如果你不知道如何处理,让我给你巧妙的思路)
这种情况如何去处理呢?
有人会说用通知,显然需要定义太多key,并且需要每个页面都要注册通知,太好性能。而且要写多好多的代码,显然是不可行的。
(其实我用block实现过,但是代码也是多了不少,几乎是重复代码。而且我也不知道到底是哪个接口的token/cookie失效,需要重新调用,我只是把需要用户信息的接口都重新调用一遍)
解决方案:
1.我们都知道:如果知道target、SEL、args,就能精准的调用某一个方法。我就把这3个target、SEL、args封装成了一个MessageModel 。
2.接下来就简单。
1。在VC或VIew网络请求方法,把当前方法保存成MessageModel ,传递到封装的网络请求中
2.在token失效,推出登录VC的时候,MessageModel传递给VC
3.当登录成功调用[MessageModel msgSend]
4.我自己写了一个模拟网络请求的雏形DEMO,很简单看一下就会
网友评论