文章目录
  1. 1. 版权说明
    1. 1.1. 前言
  2. 2. 教程
  3. 3. 工具
  4. 4. 开源项目

版权说明

本文为 InfoQ 中文站特供稿件,首发地址为:文章链接。如需转载,请与 InfoQ 中文站联系。

前言

欢迎国内的iOS同行或技术作者向我提交周报线索,线索可以是新闻、教程、开发工具或开源项目,将相关文章的简介和链接在微博上发布并 @唐巧_boy 即可。

【摘要】:本期iOS移动开发周报带来如下内容:SDWebImage缓存图片的机制、使用Etag增强iOS的URL缓存功能、从Facebook看移动开发的发展、FuzzyAutocomplete插件等。

教程

  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 注册关联的文件类型。文章详细介绍了这其中的过程。

工具

  1. fnd.io: fnd.io 是一个App Store的网页版,搜索速度非常快,可以用来代替itunes进行应用的检索。

  2. Shortcut Foo:Shortcut Foo是一个训练你记忆快捷键的网站,除了包括iOS的第三方IDE AppCode的内容外,还包括vim,emacs, git等内容。

  3. FuzzyAutocomplete:FuzzyAutocomplete是一个Xcode自动补全插件,刚刚更新到了2.0版本。它可以让你不需要再遵循从头匹配的原则来补全代码,而是随便输入你记得的关键字来进行匹配,整个插件的响应速度也非常快。

开源项目

  1. Lockbox: Lockbox是一个帮助你方便地将数据保存到keychain中的开源工具类。

  2. Framework7: Framework7 是一个功能齐全的 HTML 框架,用来构建 iOS7 应用程序。Framework7 允许你使用Javascript代码来实现应用的列表,侧边栏,弹出框等控件。