2016-06-07 18 views
6

Sto leggendo l'esempio di firebase.google visto qui https://firebase.google.com/docs/database/ios/save-data#save_data_as_transactions e sto provando a scrivere la mia versione. Sto avendo problemi visto che l'esempio di Firebase mi lascia più confuso di prima ho iniziatofirebase runTransactionBlock

Tutto quello che sto cercando di fare è quando una persona tocca un pulsante è che è ++ (o + = 1) al conteggio e un altro pulsante rimuove

qualcuno può aiutarmi a capire come fare questo ... un altro utente su una questione postato precedenti collegamenti ad altre risposte lingua e ho provato a scrivere nella lingua veloce, ma ho fallito miseramente

+1

Si prega di non cancellare una domanda per poi postarla di nuovo. Se hai informazioni da aggiungere a [la tua domanda precedente] (http://stackoverflow.com/questions/37668501/ios-firebase-how-to-setvalue-of-1?noredirect=1#comment62815948_37668501), fai clic su "modifica" "link sotto e aggiungi le informazioni. –

+1

Per trovare campioni di altri utenti utilizzando le transazioni Firebase in swift, vedere [questa domanda] (http://stackoverflow.com/questions/37061536) o [questo] (http://stackoverflow.com/questions/34778914/data -consistency-on-very-close-events-in-firebase/34779307 # 34779307) o alcuni altri da [questa ricerca] (http://stackoverflow.com/search?q=%5Bfirebase%5D+transaction+swift). –

+1

Sono d'accordo con l'uomo ho appena trovato questo perché il blocco di transazione nei documenti è pazzo di confusione. Non ho idea del perché sia ​​così confuso. L'incremento è una cosa abbastanza comune, dovrebbero semplicemente avere una funzione specifica che lo fa, come incrementValue() o qualcosa del genere. –

risposta

9

Grazie ai commenti visti sopra sono riuscito a farlo funzionare

....runTransactionBlock { (currentData: FIRMutableData) -> FIRTransactionResult in 

     var value = currentData.value as? Int 

     if value == nil { 
      value = 0 
     } 

     currentData.value = value! + 1 
     return FIRTransactionResult.successWithValue(currentData) 




    } 
+1

Sei sicuro al 100% che sia efficace? Hai provato con più utenti allo stesso tempo? Questo sembra molto più semplice dei documenti, quindi se sei sicuro che funzioni, preferirei usare questo lol –

Problemi correlati