, что вы можете сделать, это следующее:
Первый раз входе пользователя в систему для вашего приложения вам нужно запросить для всех строк пользователей с сервера, поэтому в этом случае вы будете выполнять запрос без каких-либо условий , В этом запросе вы можете использовать limit, чтобы ограничить результаты, которые будут возвращены сервером. Когда вы получите результаты от сервера, необходимо:
- магазин все строки в локальной базе данных
- магазин ток NSDate внутри NSUserDefaults
Следующий вызов к серверу будет получить только обновленные строки. Для того, чтобы достичь этого вам потребуется:
- Получить последнюю дату синхронизации от ваших NSUserDefaults (тот, который мы сохранить выше)
- Выполните запрос, но на этот раз с условием GreaterThan ваш lastSyncDate
в конце код для извлечения элементов должен выглядеть следующим образом:
// check if we synced the date before
let lastSyncDate = NSUserDefaults.standardUserDefaults().objectForKey("lastSyncDate")
let query = PFQuery(className: "MyParseObjectClassName")
if (lastSyncDate != nil){
// get only records that were created/updated since the last sync date
query.whereKey("updatedAt", greaterThan: lastSyncDate!)
}
query.findObjectsInBackgroundWithBlock {
(objects: [PFObject]?, error: NSError?) -> Void in
// store objects in parse local data store
if (objects?.count > 0){
PFObject.pinAllInBackground(objects)
}
// save the last sync date in user defaults
NSUserDefaults.standardUserDefaults().setValue(NSDate(), forKey: "lastSyncDate")
NSUserDefaults.standardUserDefaults().synchronize()
}
Обратите внимание: здесь я использовал локальное хранилище данных parse, которое позволяет легко хранить элементы анализа в локальной базе данных без использования основных данных. Parse локальное хранилище данных обеспечивается путем разбора IOS SDK и сэкономить много времени и усилий для вас, поэтому я настоятельно рекомендую вам использовать его. локальное хранилище данных также заботится о вас для объектов, которые были созданы/обновлены, и он автоматически создаст новый объект и обновит существующие.
вы можете прочитать об этом в here
Этот вопрос, кажется, не имеют ничего общего с основными данными или Монго ... – Wain