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

版权说明

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

前言

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

【摘要】:本期iOS移动开发周报带来如下内容:Masonry介绍与使用实践、Objective-C Runtime、iOS APP 架构漫谈、教你用KEYNOTE做出APP原型等。

教程

  1. 《Masonry介绍与使用实践(快速上手Autolayout)》:iPhone6发布之后,我知道使用autolayout势在必行了,这时想起了以前在浏览Github看到过的一个第三方库Masonry。在花了几个小时的研究使用后,我就将autolayout掌握了(重点是我并没有学习任何的官方文档或者其他的关于autolayout的知识),这就是我为什么要写下这篇文章来推荐它的原因。Masonry是一个轻量级的布局框架,拥有自己的描述语法,采用更优雅的链式语法封装自动布局,简洁明了并具有高可读性。

  2. 《Objective-C Runtime》:因为OC是一门动态语言,所以它总是想办法把一些决定工作从编译连接推迟到运行时。也就是说只有编译器是不够的,还需要一个运行时系统 (runtime system) 来执行编译后的代码。这就是 Objective-C Runtime 系统存在的意义,它是整个OC运行框架的一块基石。本文详细整理了 Cocoa 的 Runtime 系统的知识,它使得 Objective-C 如虎添翼,具备了灵活的动态特性,使这门古老的语言焕发生机。主要内容包括:与Runtime交互、Runtime术语、消息机制、动态方法解析、消息转发、壮的实例变量(Non Fragile ivars)、Objective-C Associated Objects。

  3. 《刨根问底Objective-C Runtime(1)- Self & Super》:本文通过分析clang重写的Objective-C源码,从而解释Objective-C中的self和super在编译器层面分别是如何处理的。

  4. 《刨根问底Objective-C Runtime(2)- Object & Class & Meta Class》:本文主要讲述objc runtime中关于Object & Class & Meta Class的细节。

  5. 《iOS APP 架构漫谈二》:这篇文章简单介绍了一个在编程中非常重要的思想或工具——状态机(State machine)。对大多数计算机专业的家伙们来说,这应该是一门比较难学的课程,里面包含一大堆揪心的名字比如DFA,NFA,还有一大堆各种各样的数学符号,又是编译原理的基础。不过很遗憾,似乎在做完编译原理课程作业之后,很多人再也没有实现过或是用过状态机了。本文通过一个游戏demo来简单描述一下状态机在实践中的应用。

  6. 《iCloud 和 iCloud Drive》:最近发现很多人对 iCloud 和 iCloud Drive 有些误解,而且还没有看见中文里面有一个比较正确的说法,本文详细讲解了 iCloud Drive 相关的知识。

  7. 《教你用KEYNOTE做出APP原型》:WWDC 2014 Session Videos里有个视频Prototyping: Fake It Till You Make It ,在视频中,他们指导大家如何用Keynote做出逼真的交互原型。作者结合这个视频的截图,介绍了如何充分发挥Keynote的特点的做出逼真的交互原型。

  8. 《Working with JSON in Swift Tutorial》:文章介绍了在Swift中用原生方式处理JSON的不便之处,并详细介绍了开源库SwiftyJSON的使用。

开源项目

  1. CBStoreHouseRefreshControl:一个效果很酷炫的下拉刷新控件。

  2. ZLSwipeableView:ZLSwipeableView是一个方便做出卡片效果的UI库,支持各种卡片的滑动效果。

  3. YTKNetwork:YTKNetwork 是基于 AFNetworking 封装的 iOS 网络库,提供了更高层次的网络访问抽象。相比 AFNetworking,YTKNetwork 提供了以下更高级的功能:按时间或版本号缓存网络请求内容、检查返回 JSON 内容的合法性、文件的断点续传、批量的网络请求发送、filter和插件机制等。

  4. Objective-Chain:Objective-Chain是一个面向对象的响应式框架,作者表示该框架吸收了 ReactiveCocoa 的思想,并且想做得更面向对象一些。