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

阅读数:2882 2014 年 4 月 18 日

话题:iOS语言 & 开发架构

  • 《SDWebImage 缓存图片的机制》:文章详细介绍了 SDWebImage 对于图片的缓存逻辑的实现细节。

  • 《使用 Etag 增强 iOS 的 URL 缓存功能》:iOS 下对于缓存的支持有很多,比如 Core Data,它可以很方便的建模和操作本地 SQLite 数据库, NSUserDefaults 则可以用来缓存一些用户配置等等。本篇主要谈谈使用 Etag 标签来解决 iOS 下的 URL 缓存问题。服务端使用的是 Tornado,原生支持 Etag,而且默认处于开启状态,因此在应用层面基本不需要额外的代码处理。客户端使用 NSURLCache 配合 AFNetworking 进行网络请求。

  • 《初始化阶段 —— load 和 initialize》:文章介绍了 load 函数和 initialize 函数各自的加载顺序。最后文章总结出:将针对于类修改放在 intialize 中,将针对 Category 的修改放在 load 中。假如是修改系统的类,一般会通过添加 Category 来添加功能,如果修改 initialize 会导致原生的 intialize 不会执行,所以放在 load 中会比较妥当。

  • 《ObjC @interface 的设计哲学与设计技巧》:学习 Objective-C 语言时,尤其是先学过其他编程语言再来看 Objective-C 时,总会对 Objective-C 的类声明的关键字 interface 感到有点奇怪,在其它面向对象的语言中通常由 class 关键字来表示,而 interface 在 Java 中表示的却大约相当于 Objective-C 的 protocol,这个关键字的区别究竟代表了 Objective-C 语言的设计者怎样的思想呢,在 Objective-C 类设计中需要注意哪些问题呢?作者在文章中对这个问题进行一些思考和探究。

  • 《从 Facebook 看移动开发的发展》:作者从 Facebook 的故事切入,分享了未来移动开发快速发展中,给设计师和程序员带来的挑战。

  • 《CoreData Object 变成 Fault 的另一种方式》:CoreData 是一个架构庞大、学习曲线比较陡峭的 iOS 组件,每次遇到问题都会对其有新的认识。文章分享了关于错误认知 Object(NSManagedObject)与 Context(NSManagedContext)的引用关系而导致的 Fault 问题。

  • 《关于 Mac 右键菜单》:Mac OS X Lion 的 Launch Service 用于关联应用程序和文件并维护最近打开的项目列表。在文件关联和右键菜单方面,每当系统安装一个新的应用程序,都会调用 Launch Service 的 API 注册关联的文件类型。文章详细介绍了这其中的过程。