iOS可达性未知时刻
我在我的应用程序中使用苹果的可达性类,以便在我上下网络时引起注意,这样我就知道我应该从在线还是本地获取数据 我的问题是,有一个3-5秒的小间隙。如果我断开与网络的连接,例如打开飞机模式,则需要3-5秒后,我才会收到通知,不再使用任何网络 这意味着,如果我在此期间尝试获取应用程序中的任何数据,它会认为我在线,因此无法获取数据等iOS可达性未知时刻,ios,objective-c,reachability,Ios,Objective C,Reachability,我在我的应用程序中使用苹果的可达性类,以便在我上下网络时引起注意,这样我就知道我应该从在线还是本地获取数据 我的问题是,有一个3-5秒的小间隙。如果我断开与网络的连接,例如打开飞机模式,则需要3-5秒后,我才会收到通知,不再使用任何网络 这意味着,如果我在此期间尝试获取应用程序中的任何数据,它会认为我在线,因此无法获取数据等 我如何处理这个差距?如果您不知道设备何时脱机,这似乎是一个困难的问题。请尝试在AppDelegate.m中设置可访问性类,如下所示: Reachability *inter
我如何处理这个差距?如果您不知道设备何时脱机,这似乎是一个困难的问题。请尝试在AppDelegate.m中设置可访问性类,如下所示:
Reachability *internetReachable;
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Set up Reachability
internetReachable = [Reachability reachabilityForInternetConnection];
// check for internet connection
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(checkNetworkStatus:)
name:kReachabilityChangedNotification object:nil];
[internetReachable startNotifier];
- (void)checkNetworkStatus:(NSNotification *)notice {
// called after network status changes
if ( connected]) {
// Your code HERE!
}
}
- (BOOL)connected {
Reachability *reachability = [Reachability reachabilityForInternetConnection];
NetworkStatus networkStatus = [reachability currentReachabilityStatus];
return networkStatus != NotReachable;
}
这对我来说非常有效。我已经尝试过你的代码,它的工作原理与我现有的可达性代码相同。在失去网络连接和接到通知之间仍然存在明显的差距。