iPhone: Как синхронизировать данные с веб-сервисом, когда интернет доступен? - PullRequest
0 голосов
/ 02 февраля 2012

Я знаю, как проверить подключение к интернету. Подскажите, как синхронизировать данные приложения.

Как работает синхронизация при наличии интернета?

Моя путаница:

У меня есть приложение, которое использует веб-сервис для отображения данных на iPhone, а также на сайте. Теперь я могу обновлять работу пользователя, когда сеть доступна , вызывая веб-службу в то же время, когда пользователь выполняет какую-то задачу.

Но когда Интернет недоступен , я должен сохранять данные пользователя локально (скажем, SQLite) в iPhone , а когда Интернет доступен, я должен обновить все данные на сервере .

For Example, 

      If internet is reachable, user works on some task and I update the data on server at the dame time.

      But Now internet is not reachable, user works on `N task`. I can not update on server, I have to wait for internet 
      How can I update all task on web-server at time?

Итак, мой вопрос:

How can I update all the data when net is available ?

Любая ссылка или код, который может мне помочь?

Ответы [ 3 ]

3 голосов
/ 17 февраля 2012

Попытайтесь поместить поле как isOfflinerecord в вашу базу данных (в случае, если вы используете базу данных), и когда связь возвращается, обновите или вставьте только эти данные.Это может быть ваш первый шаг.

1 голос
/ 02 февраля 2012

Этот вопрос может вам помочь. используя класс Reachability от Apple.

` Как проверить активное подключение к Интернету на iOS или OSX?

1 голос
/ 02 февраля 2012

используйте класс достижимости, а затем вы можете установить уведомитель, который будет уведомлять, когда произойдет изменение состояния сети

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

hostReachable = [[Reachability reachabilityWithHostName: @"www.google.com"] retain];
[hostReachable startNotifier];


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

    NetworkStatus hostStatus = [hostReachable currentReachabilityStatus];
    switch (hostStatus)

{
    case NotReachable:
    {
        break;

    }
    case ReachableViaWiFi:
    {

        break;

    }
    case ReachableViaWWAN:
    {

        break;
    }
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...