UI

iOS如何处理网络请求用户信息失效,跳转登录页面并登录成功重新调

2018-09-16  本文已影响234人  给伤的你我依然喜欢

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,很简单看一下就会

git仓库地址:https://github.com/593980284/MessageModel

虽然思路简单,但是如果觉得很不错请给个start🙏

上一篇下一篇

猜你喜欢

热点阅读