gpt4 book ai didi

ios - Swift 3 和 JSON——通过在后台运行 URL 来更新数据库

转载 作者:搜寻专家 更新时间:2023-10-30 22:30:55 25 4
gpt4 key购买 nike

1。单击该链接会导致数据库更新。

我可以访问某个链接(假设它是 www.google.com ),这样当我在浏览器中打开它时,它会更新我数据库中 JSON 代码的特定部分。它根据构成链接一部分的数字,调整数据中的某个值。


2。如何在我的 iOS 应用程序后台运行此链接?

我需要能够在应用程序中“打开”此链接,而无需实际打开 UIWebview 并直观地访问该站点。我只需要数据库中的这个 JSON 数据自行更新(用户甚至不知道它发生了)。

我在这里遇到的问题是我根本不知道这是如何完成的。 如何在不打开 Safari 浏览器的情况下访问此链接?

最佳答案

对于此类功能,我发现的最佳方法是将它们视为“AJAX”(或“REST”、“API”等)——虽然这些术语经常被使用(并且对于经验丰富的程序员而言立即给出某种想法),最终结果是他们从你的“发起者”那里获取信息并发送到“服务器”进行处理,然后“服务器”回复“响应”。一旦您在脑海中有了这个概念,这就变成了一项相当简单的事件。

(对于我们的示例,我将称之为“API”,因为它确实最适合{@Mortiz 建议}这个问题)

对于 Swift 3,有几种方法可以做到这一点,我将向您展示我发现并用于各种功能的两种方法:

  1. 调度队列

    对于“我知道存在并且会连接可靠性的 url 的一次性拍摄”,这是一个很好的使用(如果你愿意,可以把它想象成一个“quick-n-dirty”...... !)

               DispatchQueue.global().async {
    let data = try? Data(contentsOf: theURL!) //make sure your url does exist, otherwise unwrap in a if let check / try-catch
    DispatchQueue.main.async {
    // do stuff here with the data if you need
    // you can get the response from the server and parse it out, set buttons in the app, etc.
    }
    }
  2. Alamofire

    对于 Swift 3,Alamofire非常受欢迎,并且做了很多很棒的事情。如果您还没有,请检查一下!

    Alamofire.request("\(theURL!)").responseJSON { response in
    print("result is ", response.result)
    switch response.result {
    case .success(let value):
    // do stuff with the returned data
    // like updating your internal database, etc.
    print(value)
    case .failure(let error):
    print("There was an error")
    // you can see the error response in various ways....
    print(requested)
    print(error)
    print(response)
    print(response.result)
    }

一旦你的按钮就位(根据你的描述,这听起来像是你的#1 是关于什么的),然后在你点击它时调用的函数中,从上面拖入代码并“做事”你需要。

这将在后台自动更新服务器(回答您的#2)——用户不会注意到任何东西,除非存在与互联网的连接问题等(虽然太复杂了,无法进入这里)如果您希望拥有很多,Alamofire 是一个不错的选择,因为它会自动重试等(您应该查看的重要功能的一部分)

其中的一个关键部分是您可以从 URL 获取响应(从服务器发回各种 JSON 数据,然后在手机中将其分解)并对其进行“任何”操作。

一些你可以做的事情(希望能给你更多的想法——这几乎是任何事情......):

  • 更新应用中的数据(本地存储、局部变量等)
  • 更新按钮或标签内的文本(颜色、背景)
  • 处理给用户的警报(不是你的情况,但有时你想让他们知道发生了什么——当然是在更新服务器时出错)
  • 更改图像(各种)
  • 切换 View

好吧,这个列表和“您可以在应用程序中执行的操作”一样长,因此请自行决定您需要修改/更新的内容 - 这就是实现它的“方式”!

关于ios - Swift 3 和 JSON——通过在后台运行 URL 来更新数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43686252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com