之前遇到一个问题,使用AFNetworkReachabilityManager监测网络变化的时候,因为首页有个网络不好的UI展示,启动app的时候有个监测网络变化刷新Token,判断账号是否在其他设备登录,需要一个被踢下线的操作,然后,我在项目的两块地方写了网络监测的代码,导致在AppDelegate里的网络监测没有作用。
正确的做法:
正确的操作应该就是只在AppDeleage里监测网络,其他页面的变化通过网络变化的通知即可。单例的类不要在多个地方实现。
[[AFNetworkReachabilityManager sharedManager] startMonitoring];
[[AFNetworkReachabilityManager sharedManager]setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
// 网络变化做的操作
POST_NOTIFICATION(kNotification_onNetWorkChange);
}];
网友评论