我介于我的小部件开发之间。因为我们已经将我们的应用程序与小部件集成放在了一起。但是现在,我在 iOS 中遇到了今天的小部件的问题。我已经为两种情况编写了代码。第一次当小部件在应用程序启动时首次加载时,它会调用 Web 服务并通过 Internet 获取数据,然后我们将它们存储到用户默认值中以供以后使用。
现在,当下次用户下拉通知菜单时,我们首先向用户显示我们旧存储的内容,然后我们从 Web 服务中获取它并存储在用户默认值中,然后再次重新加载表。
对于上述操作,在某些情况下,我面临表格内容大小问题、闪烁问题和“无法加载”消息。
现在看看下面的代码,我在下面的方法中进行网络调用,在网络服务响应之后,我只处理完成处理程序。
- (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];
}
所以,请与我分享您的经验和想法。