/ / Come verificare l'aggiornamento lato server nell'applicazione iPhone Richiesta del servizio Web - iPhone, servizi Web, iPhone-SDK-3.0

Come verificare l'aggiornamento del lato server nell'applicazione iPhone Richiesta di servizio Web - iphone, servizi Web, iphone-sdk-3.0

Ho una specie di applicazione di elenco per l'applicazione iPhone, che chiama sempre un servizio web sul mio server php e recupera i dati e li visualizza sullo schermo dell'iPhone.

Ora, la cosa da considerare in questo scenario è che la mia applicazione per iPhone richiede ogni volta sul server e recupera i dati.

Ma ora il mio requisito è come se volessi sostituire la seguente serie di azioni con una sopra:

-> Ogni volta che la mia applicazione viene avviata in iPhone, dovrebbe controllare per i nuovi dati sul server ».

-> E se il server risponde "vero", solo la mia applicazione iPhone farà un richiesta di recuperare i dati.

-> In caso di "falso", l'applicazione per iPhone visualizzerà i dati che è già memorizzato nella cache del telefono locale memoria.

Ora per implementare questo scenario sul lato server (che ha php, mysql), sto pianificando con la seguente soluzione:

Table : tblNewerData

id newDataFlag
== ============
1      true

Trigger: tgrUpdateNewData

Il trigger sopra aggiornerà il campo tblNewerData -> newDataFlag nel caso Insert della mia tabella principale.

E ogni volta che la mia app per iPhone richiederàcampo tblNewerData-> newDataFlag, e se trovato vero allora solo lui creerà una nuova richiesta, e se trova falso allora verrà visualizzata la versione cache dei dati.

Quindi, voglio saperlo, è il modo corretto di farlo? o qualsiasi altra opzione intelligente disponibile?

Grazie in anticipo.

risposte:

2 per risposta № 1

Dovresti invece considerare di rendere il campo un contatore. Ogni volta che viene apportata una modifica al database, il contatore viene aumentato.

Ora quando l'iPhone si collega, confronterà quel contatore corrente con il contatore del precedente recupero. Se il contatore è cambiato, recupererà i dati aggiornati.