ios - docs - Almacén de datos local de Parse: Desanclar objetos parece estar roto en Swift
docs parse platform (1)
Quiero desanclar una lista de objetos, que había almacenado con éxito localmente antes, y reemplazarla por una nueva. El siguiente código debe hacer ese truco, pero los objetos anclados localmente simplemente no se actualizan. Probé todo, incluido PFObject.unpin, nada elimina los viejos objetos anclados, excepto un reinicio completo del simulador
func updateCountryList(server:Int, local:Int) {
let query = VEPCountry.queryAll()
query.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]!, error: NSError!) -> Void in
if error != nil {
// throw error
} else {
if local != 0 {
VEPState.unpinAllObjectsWithName(String("countryListVersion/(local)"))
}
VEPState.pinAll(objects, withName: String("countryListVersion/(server)"))
defaults.setObject(server, forKey: "localCountryListVersion")
}
}
}
Apreciar la ayuda o el puntero a los problemas conocidos relacionados con el desapilado en Swift
Me pregunto si tu clave de desbloqueo no ha terminado realmente, después de todo se va a la base de datos.
Puedes intentar:
query
.findObjectsInBackground()
.continueWithSuccessBlock({ (task: BFTask!) -> AnyObject! in
// ...
return VEPState.unpinAllObjectsWithNameInBackground("name"))
})
.continueWithSuccessBlock({ (task: BFTask!) -> AnyObject! in
// ...
return VEPState.pinAllInBackground(objects, withName: "name"))
})
Puede que tenga un poco la sintaxis y que los nombres de los métodos de fondo no sean del todo correctos. También estoy usando promesas / tareas en las cuales no es un mal hábito de meterme.