我有一个使用JSON数据填充的tableView。此时,只要有JSON更新,用户就需要下拉以刷新tableView,新数据就会加载。
退出应用程序或完全不在用户的手机上打开应用程序时,是否有可能在后台刷新数据,并向用户发送本地通知说有新数据?
这怎么办?我更专注于本地通知。
当前如何使我的应用读取JSON的示例:
private func fetchJSON() {
guard let url = URL(string: "https://example.com/example/example.php"),
let value = name.addingPercentEncoding(withAllowedCharacters: .urlQueryValueAllowed)
else { return }
var request = URLRequest(url: url)
URLSession.shared.dataTask(with: request) { data, _, error in
guard let data = data else { return }
do {
self.structure = try JSONDecoder().decode([structure].self,from:data)
DispatchQueue.main.async {
self.tableView.reloadData()
}
}
catch {
print(error)
}
}.resume()
}
从地址 example.com/example/example.php 看到的api的示例如下:
[{"person":"Jackson","number":"1928192",
"position":"driver"},{"person":"Jeff","number":"293829","position":"driver"}]
答案 0 :(得分:0)
步骤1:-将json存储在UserDefault或CoreData中
如果您使用的是UserDefault,则我个人执行PropertyListEncoder&Decoder。
第2步:-启用后台功能
第3步:-在您的应用中实施本地通知代码。