Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从关闭的应用程序发送有关新JSON数据的本地通知?|敏捷的_Json_Swift_Uitableview - Fatal编程技术网

从关闭的应用程序发送有关新JSON数据的本地通知?|敏捷的

从关闭的应用程序发送有关新JSON数据的本地通知?|敏捷的,json,swift,uitableview,Json,Swift,Uitableview,我有一个使用JSON数据填充的tableView。此时,只要JSON有更新,用户就需要下拉刷新tableView并加载新数据 当应用程序退出或在用户手机上完全未打开时,是否可以在后台刷新数据,并向用户发送本地通知,告知有新数据 如何做到这一点?我更关注本地通知 我当前如何让我的应用程序读取JSON的示例: private func fetchJSON() { guard let url = URL(string: "https://example.com/example/example.php

我有一个使用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"}]

步骤1:-将json存储在UserDefault或CoreData中

如果您使用的是UserDefault,我个人会选择PropertyStencCoder&Decoder

步骤2:-启用后台功能


步骤3:-在应用程序中实现本地通知代码。

步骤1:-将json存储在UserDefault或CoreData中

如果您使用的是UserDefault,我个人会选择PropertyStencCoder&Decoder

步骤2:-启用后台功能


步骤3:-在应用程序中实现本地通知代码。

您如何以及从何处接收JSON数据?您如何知道有更新?JSON数据是用PHP创建的,并查看mySQL数据库。是否有可能每隔几分钟刷新一次应用程序背景并查看信息是否发生更改?嗯,是的,但您如何从服务器接收它?我想,您使用的是标准的客户机-服务器体系结构,这意味着,在iOS部分,您正在发送一个请求,以便在viewDidLoad或VIEWWILLEXPEND方法页面上从服务器获取数据。这意味着,服务器并没有简单的方式告诉您,有一个更新。每X分钟刷新一次是一种非常粗糙的方法,你不应该使用它。我发布了一个示例,说明我的应用程序当前是如何填充tableViewHow的,你从哪里接收JSON数据?您如何知道有更新?JSON数据是用PHP创建的,并查看mySQL数据库。是否有可能每隔几分钟刷新一次应用程序背景并查看信息是否发生更改?嗯,是的,但您如何从服务器接收它?我想,您使用的是标准的客户机-服务器体系结构,这意味着,在iOS部分,您正在发送一个请求,以便在viewDidLoad或VIEWWILLEXPEND方法页面上从服务器获取数据。这意味着,服务器并没有简单的方式告诉您,有一个更新。每X分钟刷新一次是一种非常粗糙的方法,你不应该使用它。我发布了一个示例,说明我的应用程序当前如何填充TableView。是否有一个示例可以显示或推荐Git项目?对于后台获取:-并查看。如果你提供api,那么我也可以实现此功能。我发布了一个示例,说明api看起来像什么。有一个示例可以显示吗或者您会推荐的Git项目?用于后台获取:-并查看。如果您提供api,那么我也可以实现此功能。我发布了一个api的示例