Я занят разработкой своего виджета. Так как мы уже разместили наше приложение с интеграцией виджетов. Но через несколько дней у меня возникла проблема с сегодняшним виджетом в iOS. Я написал код для двух случаев. В первый раз, когда виджет изначально загружается в первый раз при запуске приложения, он вызывает веб-службу и извлекает данные через Интернет, а затем мы сохраняем их по умолчанию для последующего использования.
Теперь, когда в следующий раз пользователь откроет меню уведомлений, мы сначала покажем пользователю наш старый сохраненный контент, а затем извлечем его из веб-службы и сохраним по умолчанию, а затем снова перезагрузим таблицу.
Для описанной выше операции я столкнулся с проблемой размера содержимого для таблицы, проблемой мерцания и в некоторых случаях сообщением "невозможно загрузить".
Теперь взгляните на код ниже, я делаю веб-вызов в методе ниже, и после ответа веб-службы я просто обрабатываю обработчик завершения.
- (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];
}
Так что, пожалуйста, поделитесь со мной своим опытом и идеями.