Quindi, desidero cancellare ogni record per un tipo di record particolare ogni giorno. Quindi, in pratica, voglio che i dati vengano cancellati alle 12:00 in modo che siano freschi per il giorno successivo. Come potrei fare questo? È qualcosa che potrei installare nella dashboard di CloudKit o dovrò impostarlo a livello di programmazione?Eliminazione di tutti i record CloudKit ogni giorno da un particolare tipo di record
risposta
L'eliminazione di record dalla dashboard è molto lavoro se è necessario eliminare più record.
La soluzione migliore consiste nel creare un recordType separato che conterrà un record per ogni giorno. Quindi, nei record che desideri eliminare per quel giorno, imposta un CKReference su quel particolare giorno record e imposta la sua azione su CKReferenceAction.DeleteSelf
Dopodiché devi solo rimuovere il record del giorno e tutti i record correlati verranno rimossi. La rimozione di quel record potrebbe essere facilmente eseguita dalla dashboard o potresti creare funzionalità nella tua app o potresti creare una seconda app per le azioni amministrative.
func deleteAllRecords()
{
let publicDatabase: CKDatabase = CKContainer.defaultContainer().publicCloudDatabase
// fetch records from iCloud, get their recordID and then delete them
var recordIDsArray: [CKRecordID] = []
let operation = CKModifyRecordsOperation(recordsToSave: nil, recordIDsToDelete: recordIDsArray)
operation.modifyRecordsCompletionBlock = {
(savedRecords: [CKRecord]?, deletedRecordIDs: [CKRecordID]?, error: NSError?) in
print("deleted all records")
}
publicDatabase.addOperation(operation)
}
provare qualcosa di simile:
let publicDb = CKContainer.defaultContainer().publicCloudDatabase
let query = CKQuery(recordType: "RECORD TYPE", predicate: NSPredicate(format: "TRUEPREDICATE", argumentArray: nil))
publicDb.performQuery(query, inZoneWithID: nil) { (records, error) in
if error == nil {
for record in records! {
publicDb.deleteRecordWithID(record.recordID, completionHandler: { (recordId, error) in
if error == nil {
//Record deleted
}
})
}
}
}
"TIPO RECORD" dovrebbe essere il vostro tipo di record. Spero che questo ti aiuti.
- 1. CloudKit: recupera tutti i record con un determinato tipo di record?
- 2. record conteggio CloudKit
- 3. Cancella tutti i record da un negozio
- 4. Ottenere tutti i record da SQLite Android
- 5. Rails - Eliminazione di record associati non salvati
- 6. Oracle ottiene i record del giorno precedente
- 7. Cloudkit dà l'errore quando si cerca di salvare un record
- 8. CloudKit notifiche push sull'aggiornamento del record smesso di funzionare
- 9. Eliminazione/eliminazione batch di record tramite Java ORM
- 10. Eliminazione dalla tabella con milioni di record
- 11. Aggiornamento di un campo in tutti i record in elasticsearch
- 12. Eliminazione di record prima di una certa data
- 13. Escludere record attivo impostato da un altro set di record?
- 14. Eliminazione di tutti i record di una tabella che non si fa riferimento da un altro tavolo
- 15. SQL con LIMIT1 restituisce tutti i record
- 16. Hadoop invia record a tutti i riduttori
- 17. Elimina tutti i record in NSManagedObjectContext
- 18. CloudKit - Come salvare il record se non esiste
- 19. Query Elasticsearch per restituire tutti i record
- 20. SQL Server: selezionare tutti i record delle ore migliori
- 21. SQL: recupera tutti i record da una tabella E un conteggio dei record da una seconda tabella?
- 22. Eliminazione di vecchi record da una tabella mysql mantenendo un backup
- 23. Doctrine 2 - Ottieni tutti i record
- 24. Come cancellare tutti i record correlati da diverse tabelle MySQL
- 25. Come posso elencare TUTTI i record DNS?
- 26. SQL aggiungi colonne di ogni record insieme
- 27. Elimina tutti i record tabella azzurrata
- 28. cache tutti i record da Query in laravel 5
- 29. Elimina tutti i record correlati da più tabelle
- 30. selezionare tutti i record creati nell'ora
questo è molto più lento a causa del ciclo for, se avete più di 3-5 voci questo richiederà più tempo di un minuto !! dovresti utilizzare una eliminazione batch come questa: http://stackoverflow.com/a/36414506/530884 – Shaybc
Quel ciclo inizia diverse operazioni asincrone una dopo l'altra! Quante connessioni concorrenti sei disposto ad avere? Lo serializzerei in qualche modo. –