快速清除 JSON 缓存?

2024-04-05

我正在处理一些经常更新的 API 数据。

我最近发现,当数据在服务器上更新时,数据在手机上无法正确更新。

经过几个小时的尝试解决此问题后,我终于尝试从手机中删除该应用程序,然后重新安装。它成功了。

经过进一步测试,我发现它打印出旧的 JSON。

一旦我删除应用程序并重新安装它,它就会成功打印出正确的更新后的 JSON。

据我推测,这可能是手机以某种方式缓存旧 JSON 数据的问题。

那么我怎样才能快速清除这个缓存呢?或者强迫它提出新的请求。

(我正在使用 swiftyJson,尽管我认为这与这个特定问题没有任何关系)

我确实找到了另一个这样的问题,但它很旧(2014 年在 Obj-C 中)并且没有答案。

以下是我获取数据的方式:

        var request = NSURLRequest(URL: formulaAPI!)
        var data = NSURLConnection.sendSynchronousRequest(request, returningResponse: nil, error: nil)
        var formula = JSON(data: data!)

        // Loop through the api data.
        for (index: String, portfolio: JSON) in formula["portfolio"] {



            // Save the data into temporary variables
            tempStockName = portfolio["name"].stringValue
            tempTicker = portfolio["ticker"].stringValue
            tempPurchasePrice = portfolio["purchase_price"].floatValue.roundTo(2)
            tempWeight = portfolio["percentage_weight"].floatValue
            latestAPIPrice = portfolio["latest_price"].floatValue.roundTo(2)
            tempDaysHeld = portfolio["days_owned"].intValue

            // Continues on for quite a while, but the data in the above segment is definitely getting filled with old JSON data, so the issue is arising before this point
}

我尝试将我的请求更改为以下内容:

var request = init(formulaAPI: NSURL, cachePolicy: NSURLRequestCachePolicy, timeoutInterval: NSTimeInterval)

但这会导致错误:“在声明之前使用局部变量‘请求’”

任何帮助解决这个问题的帮助将不胜感激!


而不是创建您的请求,

NSURLRequest(URL: formulaAPI!) 

您应该使用以下方法,以便您可以显式设置缓存策略。

var request = NSURLRequest(URL: formulaAPI!, cachePolicy: .ReloadIgnoringLocalCacheData, timeoutInterval: 30)

NSURLRequest(URL:)使用默认的策略,NSURLRequestUseProtocolCachePolicy,以及 60 秒的超时间隔。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快速清除 JSON 缓存? 的相关文章

随机推荐

  • Python:如何确定子进程子进程已全部运行完毕

    我试图检测安装程序何时从 Python 脚本中完成执行 具体来说 该应用程序是Oracle 10gR2数据库 目前我正在将 subprocess 模块与 Popen 一起使用 理想情况下 我只需使用 wait 方法来等待安装完成执行 但是
  • PHP 向登录/注销用户隐藏/显示菜单项的更简单方法

    是否有更简单更有效的方法来隐藏 显示登录 注销用户的菜单项 看来我不必用重复的菜单项再次复制整个菜单 菜单项的顺序可能不同 如下所示 您可以在下面的示例中看到我已添加到陈述 ul class nav navbar nav li class
  • Spring Kafka中检测broker断开连接

    我正在尝试为我的卡夫卡消费者编写健康检查 当应用程序启动并运行时 我关闭 Kafka 我看到很多 Connection to node 1001 127 0 0 1 9092 could not be established Broker
  • 使用 GNU Parallel 和 Split

    我正在将一个相当大的文件加载到 postgresql 数据库中 为此 我首先使用split在文件中获取较小的文件 每个 30Gb 然后我使用以下命令将每个较小的文件加载到数据库中GNU Parallel and psql copy 问题是大
  • ImportError:Linux 上没有名为“cplex”Python 的模块

    我正在尝试在 HPC 机器 RedHatEntrepriseServer 上运行 python 脚本 管理员已经安装了 CPLEX 模块 但在 python 中导入 cplex 模块时仍然出现此错误 ImportError No modul
  • 选择下拉列表项 findbytext 不区分大小写 vb.net

    我想在用 VB NET 编写的 ASP NET 的下拉列表中选择一项 我在列表框中有这样的值和文本 Volvo Audi etc 但来自其他地方的大写值 VOLVO AUDI 这段代码 dropdownlist FindByValue CA
  • 是否可以从 SQL 查询执行文本文件?

    我有许多生成的 sql 文件 我想连续运行 我想从查询中的 SQL 语句 即查询分析器 Server Management Studio 运行它们 是否可以做这样的事情 如果可以的话 这样做的语法是什么 我希望有这样的事情 exec c t
  • boost::condition::timed_wait 的使用示例

    有人有如何最轻松地使用 boost condition timed wait 的示例吗 有一些关于该主题的主题here https stackoverflow com questions 2259025 how do i get boost
  • Python请求不上传文件

    我正在尝试使用 Python 请求重现此curl 命令 curl X POST H Content Type application gpx xml H Accept application json data binary test gp
  • 将目录树表示为递归列表

    我被某项任务困住了 我想要的是一个函数 给定目录路径 它将返回递归列表作为输出 输出的格式应为 myList dir subdir subdir fullFilePath 所以基本上我想将目录树表示为某个列表 我获取了所有文件 获取了每个文
  • 使用 Cocoa 确定两个日期之间的月数

    如何使用 Cocoa 计算两个日期之间的月数 谢谢 斯坦 NSInteger month NSCalendar currentCalendar components NSCalendarUnitMonth fromDate yourFirs
  • 如何为 MVC .Net Core 应用程序创建单个管理员用户

    我正在构建一个本质上是商店的网络应用程序 但我想为网站管理员提供一种简单的方法来添加新产品 但是我想限制网站的这一部分 以便只有管理员可以访问它 目前我对其他用户没有用处 我该如何做到这一点 以便任何拥有管理员用户名和密码的人都可以访问这些
  • ssl:身份验证方法 ssl 需要密码

    在尝试通过 Ansible 连接到 Windows 虚拟机时 我遇到了以下问题 TASK setup lt 10 xx xx xx gt ESTABLISH WINRM CONNECTION FOR USER winad admin on
  • 控制器文件已加载,但类不存在

    我在 Magento 中遇到此错误时遇到问题 控制器文件已加载 但类不存在 完整堆栈位于底部 我本质上是想遵循本教程 在 Magento 中创建新模块 HelloWorld http magento4u wordpress com 2009
  • 使用 DllImport 在 C# 中调用 OpenGL 函数?

    我目前正在为 OpenGL 开发一个 C 实用程序库 对于跨平台窗口管理 我使用 GLFW 并使用 DllImport 成功加载了 glfwCreateWindow 或 glfwMakeContextCurrent 等函数 现在我想使用 O
  • CentOS 和 Ubuntu 上的“常规文件”是什么?

    我的环境是 CentOS 6 9 Ubuntu 16 04 LTS GNU coreutils 8 4 有 test 命令来检查文件 f option man test shows f FILE FILE exists and is a r
  • 二叉树的 Herbrand 宇宙、Herbrand 基础和 Herbrand 模型(序言)

    什么是二叉树的 Herbrand 宇宙 Herbrand Base 和 Herbrand Model binary tree empty binary tree tree Left Element Right binary tree Lef
  • 你能在 Mongo 中为 $addToSet 指定一个键吗?

    我有一个文件 profile set name nick options 0 name joe options 2 name burt options 1 并想添加一个新文档到profile set如果名称尚不存在则设置 无论选项如何 所以
  • SubmissionPublisher 提交时不调用订阅者的 onNext

    每个时间间隔我都会通过特定的查询检索推文 这些推文必须传递给计算和操作这些推文的服务 所以这些服务都是向我的发布者订阅的 所以publisher hasSubscribers 返回true 但是提交或提供函数不会调用我的订阅者的 onNex
  • 快速清除 JSON 缓存?

    我正在处理一些经常更新的 API 数据 我最近发现 当数据在服务器上更新时 数据在手机上无法正确更新 经过几个小时的尝试解决此问题后 我终于尝试从手机中删除该应用程序 然后重新安装 它成功了 经过进一步测试 我发现它打印出旧的 JSON 一