ios - 如何在 iOS 网络接入时自动与服务器同步?

标签 ios

在离线模式下,我在数据库中有一些数据。我想在设备上线后与服务器同步。我正在尝试 Reachability。但是我没有从 Reachability 得到任何响应。我正在尝试下面的代码,但它不起作用。

我在 ViewDidiLoad 中调用这个方法:

 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil];

然后调用这个方法:

-(BOOL)reachabilityChanged:(NSNotification*)note
{
  BOOL status =YES;

  Reachability * reach = [note object];
  if ([reach currentReachabilityStatus] == NotReachable )
  {
    status = NO;
    NSLog(@"NetWork is not Available");
  }
  else
  {
    status = YES;
    NSLog(@"NetWork is Available");
  }
  return status;

但是什么也没有发生。请任何人建议我。我的要求是当网络到来时,数据库数据将自动与服务器同步。无需触摸设备。

在此先感谢...

最佳答案

我已经使用可达性类进行网络检查,例如 在 ViewDidload 方法中添加以下行:

 [[NSNotificationCenter defaultCenter]
             addObserver:self
             selector:@selector(checkNetworkStatus:)
             name:kReachabilityChangedNotification
             object:nil];

kReachabilityChangedNotification 在 Reachability 类中设置。

同时添加以下方法:

-(void) checkNetworkStatus:(NSNotification *)notice
{
    // called after network status changes

    NetworkStatus internetStatus = [internetReachable currentReachabilityStatus];
    switch (internetStatus)
    {
        case NotReachable:
        {
            NSLog(@"The internet is down.");

            break;
        }
        case ReachableViaWiFi:
        {
            NSLog(@"The internet is working via WIFI.");
            break;
        }
        case ReachableViaWWAN:
        {
            NSLog(@"The internet is working via WWAN.");

            break;
        }
    }
}

我已经使用上面的代码进行网络检查。

希望对您有所帮助。

关于ios - 如何在 iOS 网络接入时自动与服务器同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31980190/

相关文章:

ios - 在保留 NSManagedObject 的同时保持它的最新状态

ios - 当应用程序后台锁定屏幕未完全动画化时

ios - 脚本 Xcode : click menu item in AppleScript without activating window?

javascript - JS 方向更改监听器不会在 iOS 上触发,但在 Android 上会触发

objective-c - UIPanRecognizer 不起作用。我的观点从未重绘

iphone - OpenCv - iOS MapKit 冲突

ios - 使用 Swift 4 解码嵌套 JSON 只返回一个对象

ios - 拉动刷新抛出这个错误

ios - 将经历默认参数提升的对象传递给 'va_start'

iphone - 从 iPhone 中的弹出窗口导航到另一个窗口