写点什么

使用 Etag 增强 iOS 的 URL 缓存功能 - iOS 移动开发周报

  • 2014-04-18
  • 本文字数:914 字

    阅读完需:约 3 分钟

  1. 《SDWebImage 缓存图片的机制》:文章详细介绍了 SDWebImage 对于图片的缓存逻辑的实现细节。
  2. 《使用 Etag 增强 iOS 的 URL 缓存功能》:iOS 下对于缓存的支持有很多,比如 Core Data,它可以很方便的建模和操作本地 SQLite 数据库, NSUserDefaults 则可以用来缓存一些用户配置等等。本篇主要谈谈使用 Etag 标签来解决 iOS 下的 URL 缓存问题。服务端使用的是 Tornado,原生支持 Etag,而且默认处于开启状态,因此在应用层面基本不需要额外的代码处理。客户端使用 NSURLCache 配合 AFNetworking 进行网络请求。
  3. 《初始化阶段 —— load 和 initialize》:文章介绍了 load 函数和 initialize 函数各自的加载顺序。最后文章总结出:将针对于类修改放在 intialize 中,将针对 Category 的修改放在 load 中。假如是修改系统的类,一般会通过添加 Category 来添加功能,如果修改 initialize 会导致原生的 intialize 不会执行,所以放在 load 中会比较妥当。
  4. 《ObjC @interface 的设计哲学与设计技巧》:学习 Objective-C 语言时,尤其是先学过其他编程语言再来看 Objective-C 时,总会对 Objective-C 的类声明的关键字 interface 感到有点奇怪,在其它面向对象的语言中通常由 class 关键字来表示,而 interface 在 Java 中表示的却大约相当于 Objective-C 的 protocol,这个关键字的区别究竟代表了 Objective-C 语言的设计者怎样的思想呢,在 Objective-C 类设计中需要注意哪些问题呢?作者在文章中对这个问题进行一些思考和探究。
  5. 《从 Facebook 看移动开发的发展》:作者从 Facebook 的故事切入,分享了未来移动开发快速发展中,给设计师和程序员带来的挑战。
  6. 《CoreData Object 变成 Fault 的另一种方式》:CoreData 是一个架构庞大、学习曲线比较陡峭的 iOS 组件,每次遇到问题都会对其有新的认识。文章分享了关于错误认知 Object(NSManagedObject)与 Context(NSManagedContext)的引用关系而导致的 Fault 问题。
  7. 《关于 Mac 右键菜单》:Mac OS X Lion 的 Launch Service 用于关联应用程序和文件并维护最近打开的项目列表。在文件关联和右键菜单方面,每当系统安装一个新的应用程序,都会调用 Launch Service 的 API 注册关联的文件类型。文章详细介绍了这其中的过程。
2014-04-18 01:294572
用户头像

发布了 65 篇内容, 共 59.5 次阅读, 收获喜欢 23 次。

关注

评论

发布
暂无评论
发现更多内容

SAP | 内部表的表类型

暮春零贰

SAP 10月月更 内部表

Sonatype Nexus 管理员初始密码

HoneyMoose

Python继承还不会,看这篇就够了

芥末拌个饭吧

继承 python 3.5+ 10月月更

CentOS 上安装 Sonatype Nexus 仓库

HoneyMoose

React源码中的dom-diff

夏天的味道123

React

“程”风破浪的开发者|镜像仓库迁移的方法

琦彦

学习方法 Harbor 10月月更 “程”风破浪的开发者

在线问题反馈模块实战(七):安装部署swagger2

bug菌

springboot 项目实战 10月月更

ScheduledThreadPoolExecutor踩过最痛的坑

小小怪下士

Java 程序员

数据开发也能双轮驱动?

乌龟哥哥

10月月更

CentOS部署Harbor镜像仓库

程序员欣宸

Docker 10月月更 habor

数据量剧增怎么办?Redis切片集群了解一下

芥末拌个饭吧

后端 redis 底层原理 10月月更

Fabric8 Docker Maven Plugin 如何让部署的时候执行 Docker 打包推送

HoneyMoose

在线问题反馈模块实战(八)​:实现图片上传功能(上)

bug菌

springboot 项目实战 10月月更

深度解读Webpack中的loader原理

Geek_02d948

webpack

“程”风破浪的开发者|如何更好的学习专业知识

闫同学

学习方法 10月月更 “程”风破浪的开发者

GaussDB(DWS)如何实现实时,批量和交付式查询一站式开发

乌龟哥哥

10月月更

“程”风破浪的开发者|慢慢踏上算法学习之旅

六月暴雪飞梨花

学习方法 算法 10月月更 “程”风破浪的开发者

IP报文在阿里云上的神奇之旅:同地域内云上通信

阿里技术

通信 IP 路由

Webpack中的高级特性

Geek_02d948

webpack

HashMap源码分析(三)

知识浅谈

HashMap底层原理 10月月更

【一Go到底】第二十一天---defer

指剑

Go golang 10月月更

Qt|模态窗口如何实现进入页面等待加载数据效果

中国好公民st

c++ qt 10月月更

Vue中的diff算法深度解析

yyds2026

Vue

Webpack中的plugin插件机制

Geek_02d948

webpack

数据湖(六):Hudi与Flink整合

Lansonli

10月月更 Hudi与Flink整合

Maven docker-maven-plugin 插件 Push 413 错误

HoneyMoose

Vue虚拟dom是如何被创建的

yyds2026

Vue

你知道Redis有哪些潜在的阻塞点吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

【愚公系列】2022年10月 Go教学课程 035-接口和继承和转换与空接口

愚公搬代码

10月月更

在线问题反馈模块实战(九)​:实现图片上传功能(下)

bug菌

springboot 项目实战 10月月更

使用Etag增强iOS的URL缓存功能 - iOS移动开发周报_Android/iOS_唐巧_InfoQ精选文章