ios系统removeCachedResponseForRequest无效的替代方案

2023-05-16

    相信你能找到我这篇博客,肯定是对URLCache缓存有了深刻的理解,并且被ios系统api removeCachedResponseForRequest使用起来并不能删除指定的缓存所困惑。

        其实也可以自己想办法来模拟此函数对应的功能。一种办法是使用不带缓存的请求去请求对应的资源,这样可以将本地的缓存删除,但是这样的话会多一次网络请求,并且容易受网络环境的影响。第二种方法就是利用URLCache.shared.storeCachedResponse来覆盖缓存,具体的思路是先自己构造一个CachedURLResponse,并且将其中存储的response header中的Cache-Control设置为max-age=0,然后存储到缓存中去,来覆盖原来的缓存。当再次请求时,request会发现本地缓存的response的max-age=0即过期了,从而重新发起请求。当然,为了防止某天苹果修复了这个api的bug,可以先调用removeCachedResponseForRequest来删除cache,若删除失败再使用替代方法。


    或者使用expire强制过期,或者location重定向。

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

ios系统removeCachedResponseForRequest无效的替代方案 的相关文章

  • Xcode 8 - 删除了一些按钮边框

    我刚刚将 Xcode 版本从 7 3 更新到 8 0 一些按钮边框消失了 代码看起来很好 所以我真的不知道各层发生了什么 顺便说一句 在其他一些控制器中我可以看到图层边框 self button layer borderColor bord
  • 如何在 X 秒后更改 NSTimer 的 NSTimeInterval?

    我正在 swift 2 中制作一个应用程序 其中有两个计时器 10 秒后我希望另一个计时器走得更快 我尝试过这样做 但它不起作用 我正在尝试更改 vartime to 1 IBOutlet var displayTimeLabel UILa
  • 如何调用进行 API 调用的类的实例以及该类中发出请求的函数,并将其分配给变量?迅速

    这是以下问题的后续 为什么代码不在第二个 URLSession shared dataTask 之后 之内执行 即在初始 URLSession shared dataTask 的 do 块内 迅速 https stackoverflow c
  • AVAssetWriter 如何编写下采样/压缩的 m4a/mp3 文件

    我正在尝试获取本地 m4a 或 mp3 文件并压缩 下采样该文件 为了制作更小的文件 最初 我使用 AVAssetExportSession 将 AVAsset 导出到临时目录 但我对压缩 下采样没有任何控制 您只能使用预设 其中只有 wa
  • iPhone 6模拟器,隐藏键盘问题

    iPhone 6 是否有一些新的方式 屏幕外 硬按钮 来重新打开隐藏的软键盘 我没有可以测试的物理设备 但我在 iPhone 6 模拟器中看到了一些在 iPad 或 iPhone 5 中看不到的新东西 iPhone 6 在横向视图中现在有一
  • 添加事件侦听器到回合制 ios 游戏时出现警告

    这是 gamekithelper m 中的代码 void authenticateLocalPlayer 1 GKLocalPlayer localPlayer GKLocalPlayer localPlayer add a weak lo
  • UITableview Commit EditingStyle 具有多个按钮? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如何在 UITableview 提交编辑样式中添加多个按钮 我需要显示一个带有删除按钮的更多按钮 由于无法使用公共API 所以你可以更好地
  • if let 不解开 MKAnnotation 的 title 属性的可选值

    我想用 if let 语句解开可选值 我需要获得 MKAnnotation 的标题 func mapView mapView MKMapView didSelect view MKAnnotationView if let title vi
  • Xcode 5:单元测试未运行

    我创建了一些测试用例 它们都通过了 那是因为它们没有被运行 从 Xcode 中 我得到 Test Suite All tests started at Test Suite All tests finished at Executed 0
  • 如何缩放 CAShapeLayer

    我很快就成功制作了动画bezier path它包含在一个CAShapeLayer 我唯一的问题是将其实现到其他屏幕尺寸上 有谁知道我如何扩展CAShapeLayer里面有路径吗 即使其变为原始大小的一半 使用这个函数 var shapela
  • 在屏幕外绘制 uiview

    我想创建一个 UIView 它在调用 ViewDidLoad 时位于屏幕外 但一旦调用某个函数 我就会将其动画显示到屏幕上 用于对 UIView 进行动画处理的代码很好 但我似乎无法从屏幕外绘制 UIView 我已将故事板中的 UIView
  • 保护移动连接 - 存储秘密和密钥

    感谢您花时间阅读本文 我是一名年轻的开发人员 在 Web 项目和服务器端编码方面拥有一些专业经验 但我现在正在构建我的第一个移动应用程序 经过在线深入研究后 我还没有能够澄清我关于保护移动应用程序数据传输的一些问题 这是我认为我理解正确的
  • SwiftUI 关闭多个模态表

    我在用 sheet isPresented self showModal 在我的根视图中呈现一个模式 在模态中 我正在使用NavigationView引导用户浏览各个页面 对于用户配置文件构建器 在导航堆栈的最后一页中 我正在使用 Envi
  • Xcode 11 向后兼容性:“UIWindowScene 仅在 iOS 13 或更高版本中可用”

    在 Xcode 11 中 我从 Single View App 模板创建了一个新的应用程序项目 我希望这个应用程序能够在 iOS 12 和 iOS 13 中运行 但是当我将部署目标切换到 iOS 12 时 我收到了很多类似这样的错误消息 U
  • 如何在 iOS 中将 NSData 变量转换为 NSInteger 变量

    我有以下返回的 api 方法NSData 我在另一个视图控制器中调用了这个方法 如何转换NSData to NS整数 NSData getBusXMLAtStop NSString stopnumber NSMutableURLReques
  • 继承属性,从 readonly 继承的属性中读写时不会合成 setter

    我在使用属性时发现了一个奇怪的行为 该属性被继承为只读 然后在继承的类中重新声明为读写 In A h interface A NSObject property nonatomic strong readonly NSObject some
  • 如何在 iPhone 上缩小 UIPickerView?

    我想降低一个高度UIPickerView在我的 iPhone 应用程序中 使其仅显示一行和一列 选择器视图的高度应等于行的高度 我正在使用 Interface Builder 来构建UIPickerView 但我找不到调整此控件大小的简单方
  • 从 AppDelegate 启动 ViewController

    我有一个自定义 URL 方案 我想打开某个ViewController当我访问此 URL 时 这不是根 我已经能够做到这一点 剩下的就是推动这一点ViewController进入navigationController来自AppDelega
  • 如何使用 AVCaptureVideoPreviewLayer 从相机应用程序实现 2 倍变焦

    我的应用程序中有一个 AVCaptureVideoPreviewLaye 它运行良好 并且显示与相机应用程序相同的预览视频 我想实现相机应用程序的 2 倍变焦功能 我该怎么做呢 基本上 我希望我的预览层将视频源更改为与您在点击 1x 图标将
  • 在 iOS 上保存(私人)应用程序设置?

    我知道NSUserDefaults用于保存 恢复user优先 什么是等效类应用 例如 应用程序可能有一个 上次运行 字段 或者它可能有一个用于在应用程序级别使用的设备的唯一标识的字段 我的目的是将应用程序的设置 而不是用户的设置 保留在设置

随机推荐

  • 用户分类以及用户活跃度的衡量方法

    一个APP最根本的便是用户 xff0c 那么当然用户也分许多种类 xff0c 比如活跃用户 留存用户 流失用户等等 xff0c 那么一般情况下又是怎么来分析活跃用户的呢 xff1f 首先 xff0c 我们来看一下用户的具体分类 不同类型的用
  • 什么是用户标签?其实很好理解

    用户画像与用户标签 亚马逊的CEO Jeff Bezos曾说过他的梦想 xff0c 如果我有一百万的用户 xff0c 我就会做一百万个不同的网站 xff01 xff0c 做这个的基础是先对用户打标签 什么是用户画像呢 xff1f 就是根据某
  • 用户标签体系的意义及设计方法

    我们这次重点谈一下用户标签 对于市场层面 xff0c 用户标签能帮助我们什么 xff1f 1 完善数据仓 之前我们讲过 xff0c 企业或市场要有自己的数据仓来进行线索的存储与培育 xff0c 用户标签就是存在于此 xff0c 我们希望用户
  • 如何设计数据埋点方案?知道这2步就行了

    数据埋点是什么 xff1f 数据埋点是数据产品经理 数据运营以及数据分析师 xff0c 基于业务需求 xff08 例如 xff1a CPC点击付费广告中统计每一个广告位的点击次数 xff09 xff0c 产品需求 xff08 例如 xff1
  • 什么是UTM参数?这些你知道吗

    现在移动互联网发展比较迅速 xff0c 而且现在很多人都在做公众号 xff0c 公众号也要有自己的特色 xff0c 这样才能给自己的产品带来利益 现在也有很多的人关注APP运营 xff0c APP运营工作中的每一步都会讲求ROI xff08
  • 用户触达方式及用户触达渠道选择

    任何用户运营过程总离不开用户触达渠道的连接 可以说 xff0c 触达渠道的组合选择 xff0c 是与你最终运营效果直接挂钩的 xff0c 用户触达方式的选择直接影响了你运营的结果 如何做精准的用户触达 如何选择不同的用户触达方式 如何最大限
  • 用户行为分析之渠道分析、转化分析、留存分析

    数据分析脱离不了业务 xff0c 不同的业务所关注的数据不同 xff0c 比如互联网 快消等 xff0c 行业不同 xff0c 关注的数据点也不同 在互联网行业普遍产品的数据分析中 xff0c 我认为用户行为分析最重要的三个点是渠道分析 转
  • 通过用户分级实现精细化运营

    10年前 xff0c pc互联网时代 xff0c 当你浏览百度的网页 xff0c 你会普遍看到各种插件推广 弹窗广告等等 xff0c 这些弹窗就好似牛皮癣一样 xff0c 想关掉都不行 用户体验极其不好 xff0c 这是一个 卖方 占绝对优
  • 如何进行流失用户召回?做到这三步!

    如果按照每天渠道投放获客1000名 xff0c 次日留存率40 来算 xff0c 每天会有60 的用户 xff0c 第二天就再也不打开我们的APP xff0c 最终成为了流失用户 平均每日损失几百到数万元不等 虽然相比动辄几百万到几千万的融
  • Spring使用到的设计模式

    Spring涉及到的设计模式 简单工厂模式工厂模式单例模式适配器装饰器模式 Decortor代理模式观察者模式策略模式模板模式 简单工厂模式 一个工厂类根据传入的参数 xff0c 动态决定创建哪一个类 public abstract cla
  • 路由协议的优先级

    对于相同的目的地 xff0c 不同的路由协议 xff08 包括静态路由 xff09 可能会发现不同的路由 xff0c 但这些路由并不都是最优的 事实上 xff0c 在某一时刻 xff0c 到某一目的地的当前路由仅能由唯一的路由协议来决定 为
  • 自己动手写操作系统 将引导程序成功写入优盘启动电脑

    原文 xff1a http freesoftman iteye com blog 629598 输入命令 xff1a nasm boot asm o boot bin 一会儿就生成了一个镜像文件boot bin 该文件就是我所谓的操作系统了
  • 关于C语言等高级语言能不能直接控制硬件的问题

    关于C语言等高级语言能不能直接控制硬件的问题 xff0c 我认为C语言等高级语言不能直接控制硬件 这里谈论的问题本质是 xff0c C语言等高级语言能不能直接对硬件进行编程 我认为 xff0c 不能 众所周知 xff0c 计算机之初的程序员
  • scanf函数输入字符 %c之前要有空格分析

    问题描述如下 xff1a test c int main void int n 61 0 char c while 1 scanf 34 c 34 amp c printf 34 c d n 34 c 43 43 i return 0 这段
  • Linux0.11内核 进程睡眠和唤醒

    当进程等待资源或者事件时 xff0c 就进入睡眠状态 有两种睡眠态 xff0c 不可中断睡眠态 xff08 TASK UNINTERRUPTIBLE xff09 和可中断睡眠态 xff08 TASK INTERRUPTIBLE xff09
  • ubuntu linux 触控板失灵的解决方案

    这几天研究内核的模块机制 xff0c 接触到了一些关于模块的操作命令 xff0c 比如lsmod命令可以列出内核中已经安装的模块 xff0c insmod命令可以安装一个指定的模块 xff0c rmmod可以删除一个指定的模块 也是处于好奇
  • Linux 安装远程桌面并设置添加分辨率

    本来想用本地的kali linux来远程登陆centos的服务器 xff0c 在远程服务器安装VM xff0c 再VM里安装Windows虚拟机 xff0c 用作工作娱乐需要 xff0c 尼玛八颗八核至强CPU xff0c 128G内存 x
  • 将数据库文件导入mysql并输出为txt文件

    大致上MySQL数据库备份可以采用两种方式 xff1a 一种就是直接导出sql语句或者易于导入的其他格式的sql存储文件 xff0c 使用sql语句或者一些可视化客户端导出 xff0c 这种方法非常简单 xff0c 无需赘述 xff1b 另
  • golang gorilla/mux设置静态目录

    发现网上都是类似下面的代码 96 96 96 s 61 34 Users golang golang 34 http Handle 34 static 34 http StripPrefix 34 static 34 http FileSe
  • ios系统removeCachedResponseForRequest无效的替代方案

    相信你能找到我这篇博客 xff0c 肯定是对URLCache缓存有了深刻的理解 xff0c 并且被ios系统api removeCachedResponse ForRequest使用起来并不能删除指定的缓存所困惑 其实也可以自己想办法来模拟