2013-07-04 1 views
0

Я создаю приложение iOS с помощью Rubymotion. Мне нужно найти способ создания и запуска «фоновых заданий» (например, Resque) в моем приложении. Что я имею в виду, так это то, что когда пользователь, например, добавляет новую задачу, вместо того, чтобы отправлять ее непосредственно на сервер, я хочу подождать, когда интернет-соединение будет хорошим.Справочная работа для Rubymotion

Есть ли драгоценный камень или решение для этого?

Благодарен за все ключи!

ответ

3

Если вы хотите иметь что-то вроде фоновых заданий, вы можете посмотреть NSQueueOperation и NSOperation.

В основном NSQueueOperation похож на контейнер, содержащий NSOperation.

NSOperation - это своего рода работа. Но настойчивости нет. Таким образом, если NSOperations находится в очереди в NSQueueOperation, и если вы перезапустите приложение, NSQueueOperation будет пустым.

Но в вашем случае это может быть немного перебор. Вместо этого вы должны слушать уведомления о достижимости. Вы можете использовать либо Apple's implemtation, либо this one (Более мощный). Когда устройство переходит в Интернет, получите список ваших элементов, которые не были созданы/обновлены на вашем удаленном сервисе. Вы можете найти их, ища свой идентификатор или любые другие флаги, которые могут быть использованы для определения их состояния.

Например, если запись еще не указана, значит, она еще не создана на вашем удаленном сервисе. Аналогичным образом вы можете использовать атрибут updated(Boolean), чтобы узнать, должен ли объект обновляться на удаленном сервисе.

Для каждого из них, сделать HTTP вызов на API, и как только ваш запрос, если закончил, обновить объект, чтобы отразить изменения (установить идентификатор, снимите флаги ЭСТ ...)

надеюсь, что это помогает