2010-10-26 12 views
6

Ho un'app per iPad che funziona sia online che offline, ma quando sono offline ci sono chiamate al servizio web che devono essere fatte una volta che la disponibilità online è di nuovo un'opzione.coda messaggi per iOS/iPad - qualcosa come MSMQ?

Esempio: Un nuovo client viene aggiunto all'app, questo deve essere inviato al servizio web ma poiché siamo offline non vogliamo rallentare l'utente in modo da consentirne l'aggiunta locale e continuare, ma è necessario per ricordare che quella chiamata deve essere fatta al servizio web quando possiamo. Stessa cosa per gli ordini e così via.

Esiste una sorta di coda che può essere impostata in modo che si attivi una volta che abbiamo la connettività?

risposta

3

Non penso che il sovraccarico di uno strumento pesante come MSMQ sia necessario per un'azione semplice. È possibile utilizzare i dati di base, mantenere gli oggetti gestiti con i dati necessari per chiamare il servizio Web e solo eliminare ogni oggetto gestito dopo un post di successo. Potrebbe esserci o non essere un modo per catturare un evento all'avvio della connettività, ma puoi sicuramente creare un NSTimer ripetuto quando il primo messaggio viene accodato e fermarlo quando non ci sono messaggi nella coda.

+0

la coda è la mia domanda, alla ricerca di un po 'di direzione su come realizzare questo. Non so come fare la coda per le chiamate di funzione. Ho appena usato MSMQ come esempio perché l'ho usato in passato. – Slee

+0

Ti ho appena detto come fare una coda. :-) Usa i dati principali. Qualsiasi raccolta ordinata è effettivamente una coda. Prendine uno, processalo, cancellalo. È persino possibile mettere in coda le chiamate di funzione, ma probabilmente non è necessario, poiché il thread di elaborazione può sapere quale funzione chiamare in base ai dati che recupera. –

+0

niente di simile all'ovvio - grazie! – Slee

1

Questa libreria gestisce la messa in coda di messaggi persistenti non in linea per situazioni come la descrizione. Dice alpha a un anno fa, ma mi hanno confermato che è usato in applicazioni di produzione:

parte

https://github.com/gcamp/IPOfflineQueue

Problemi correlati