BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Swift 被 Apple 定义为面向 Protocol 的编程语言 - iOS移动开发周报

| 作者 王巍 关注 0 他的粉丝 发布于 2015年6月29日. 估计阅读时间: 4 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

亲爱的读者:我们最近添加了一些个人消息定制功能,您只需选择感兴趣的技术主题,即可获取重要资讯的邮件和网页通知

新闻

  1. 21.5-inch 的 4K Retina iMac:在 SDK 放出后,程序员们就没有停止对其中隐藏细节的挖掘。自上周曝出 12-inch 的 iPad Pro 后,这周又有开发者在 OS X El Capitan beta 中发现了分辨率为 4096 x 2304 的一款 iMac 设备,这应该对应的是 Retina 的 21.5-inch iMac。

  2. Apple 发布了第二版 iOS 9 beta SDK:相比起第一版 SDK,beta 2 中主要实装了像 OptionSetType 等 Swift 2 特性,另外还修复了海量的 Swift 编译器错误。一些详情可以在这里找到。

教程

  1. Introducing Protocol-Oriented Programming in Swift 2:Swift 2 通过 Protocol Extension 大幅强化了 protocol 在这门语言中的地位,而整个 Swift 标准库其实也是基于 protocol 来设计的,使用了大量的 protocol。可以说 Swift 是一门面向 protocol 的语言。这篇教程中列举了一些 protocol 在实际使用中的方法,可以让你掌握面向接口编程的基础知识。

  2. 《RAC Marbles》:一个直观的交互展示 RAC 中各种信号行为的网站。虽然是针对 RAC 的,但是其实很多概念都是函数式编程通用的。对于函数式编程有兴趣的朋友可以看看,另外也很适合在日常工作中用到时进行查阅。

  3. 《基于 CoreText 的排版引擎》:CoreText 在做图文混排和一些复杂的富文本排版时是不可避免要接触到的。这一系列的文章从最基本的开始,一步一步完成一个支持图文混排、支持图片和链接点击的排版引擎。推荐给想要入门和使用 CoreText 框架的朋友阅读。

开源项目

  1. Tropos:Thoughtbot 开源的一个天气预报 app,使用了 ReactiveCocoa 和 MVVM 进行架构。想要学习使用这两种技术的同学不妨仔细读一下代码,毕竟天气预报作为一个入门 app 来说简直是再适合不过了。之后这个项目还有已计划迁移到 Swift 以及 ReactiveCocoa 3.0,所以可以持续关注。

  2. Bohr:实际开发过一些 app 的话你就会知道,设置页面一直很难做好。传统来说我们会选择使用 static 的 table view 来制作设置页面,但是很多时候条件判断和变更起来很不方便。Bohr 虽然也是基于 table view,但是却是一个很不错的改善方案。它封装了一些常用的 cell 来帮助简化构建设置页面的流程,另外也将添加 cell 的工作进行了剥离,这使得设置页面的制作更加简便灵活。

  3. GEOSwift:GEOSwift 是 Swift 写的用来处理地理模型和拓扑模型关系和转换的框架。另外这个框架也和 MapKit 和 MapboxGL 有很好的集成,app 中如果有地图相关内容的话可能会很有用。

  4. SXWaveAnimate:一个很漂亮的灌水动画,可以用来丰富 app 中的动画效果。可能泛用性并不是很好,但是可以对实现的动画代码进行参考,并调整写出自己的动画代码。

  5. DownloadButton:类似 App Store 下载时的按钮,提供了多种样式和状态,并且可以在 Interface Builder 中进行自定义。如果 app 中有类似的按钮需求的话,这个自定义控件能让你省掉很多工作量。


感谢徐川对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT