Sono in mezzo con lo sviluppo del mio widget. Come abbiamo già inserito la nostra app con integrazione di widget. Ma al giorno d'oggi, sto affrontando un problema con il widget di oggi in iOS. Ho scritto un codice per due casi. La prima volta che il widget viene inizialmente caricato per la prima volta con l'avvio dell'applicazione, chiama il servizio Web e recupera i dati su Internet, quindi li memorizziamo nell'utente predefinito per un utilizzo successivo.Messaggio "Impossibile caricare" nel widget di oggi
Ora, quando la prossima volta, l'utente abbassa il menu di notifica, noi mostriamo il nostro vecchio contenuto salvato prima all'utente e poi lo recuperiamo dal servizio web e lo memorizziamo in default dell'utente e quindi ricarichiamo la tabella ancora una volta.
Per l'operazione precedente, sto affrontando un problema di dimensioni del contenuto per problemi di tabella, sfarfallio e "impossibile caricare" in alcuni casi.
Ora guarda il codice seguente, sto effettuando una chiamata web sotto il metodo e dopo la risposta del servizio web, gestisco semplicemente il gestore di completamento.
- (void)widgetPerformUpdateWithCompletionHandler:(void (^)(NCUpdateResult))completionHandler {
// Perform any setup necessary in order to update the view.
// If an error is encountered, use NCUpdateResultFailed
// If there's no update required, use NCUpdateResultNoData
// If there's an update, use NCUpdateResultNewData
[self getBookedAppointmentsNew:completionHandler];
}
Quindi, per favore condividi la tua esperienza e le idee con me.
Giusto per essere chiari, stai chiamando il tuo servizio web e non chiami il gestore di completamento fino al termine di tale chiamata? –
Sì, faccio la stessa cosa .. chiamo web-service e al completamento del servizio, lo completo con il gestore di completamento. –
In realtà, ho bisogno di effettuare una chiamata al servizio web ogni volta per recuperare i miei ultimi eventi per i clienti, ma fino a quando li prelevo provo a mostrare i dati recuperati in precedenza ai clienti. Quindi, non c'è possibilità di sfarfallio dello schermo. Voglio aggiornare la vista con nuovi contenuti senza effetti collaterali. –