Tony的Reachability间歇性地不会调用reachableBlock

时间:2015-09-17 05:43:13

标签: ios objective-c

我正在尝试Tony Reachability,下面是标准示例代码:

  Reachability* reach = [Reachability reachabilityWithHostname:@"www.google.com"];

  reach.reachableBlock = ^(Reachability*reach)
  {
    dispatch_async(dispatch_get_main_queue(), ^{
      NSLog(@"reachable!");
    });
  };

  reach.unreachableBlock = ^(Reachability*reach)
  {
    dispatch_async(dispatch_get_main_queue(), ^{
      NSLog(@"unreachable!");
    });
  };

  [reach startNotifier];

我正在使用模拟器并尝试关闭mac的wifi,它打印无法访问,然后打开mac的wifi,但它间歇性地打印无法访问,条件为:应用程序仍在使用中(前景)

有什么方法可以解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

这就是我在我身上所做的,并为我完成了工作。我尝试使用块,但似乎解决我的问题更麻烦。希望这会有所帮助。

RestTemplate

如果您只尝试使用reachableBlock,请检查this link以获取帮助

答案 1 :(得分:0)

由于在后台线程上异步调用可访问性块,因此不会立即通知您。在您的示例中使用主线程的文档的目的是因为需要在主线程上执行UI更新。

简而言之,它表现得像预期的那样。