2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

  • 2015-06-29
  • 本文字数:1261 字

    阅读完需:约 4 分钟

新闻

  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 读者交流群)。

2015-06-29 06:3011227
用户头像

发布了 59 篇内容, 共 24.7 次阅读, 收获喜欢 4 次。

关注

评论

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

Kafka的控制器controller详解

数据社

kafka 七日更

堪称完美!阿里架构师亲自手撕”Spring Boot实战笔记“用60个案例给你整的明明白白

比伯

Java 编程 程序员 架构 技术宅

源码解析Synchronized同步方法的八种使用场景,收藏

996小迁

Java 源码 架构 面试 synchronized

物联网打工人必备:LiteOS Studio图形化调测能力

华为云开发者联盟

互联网 LiteOS 打工人

2020年,关于【区块链运营】工作的11条思考

猫Buboo

比特币 区块链+

源码解析Synchronized同步方法的八种使用场景,收藏

小Q

Java 学习 架构 面试 多线程

5. 穿过拥挤的人潮,Spring已为你制作好高级赛道

YourBatman

Spring Framework 类型转换 Converter

KKR四币连发挖矿系统软件APP开发

系统开发

完全懵掉的电话面试

escray

面试 面经 七日更 十日谈

源码输出纯净版SSM架构,收藏直接CV使用它不香吗?

小Q

Java 学习 编程 面试 ssm

anyRTC加持AI,打造下一代实时音视频引擎

anyRTC开发者

人工智能 android 音视频 WebRTC RTC

软件测试(功能、接口、性能、自动化)详解

测试人生路

软件测试

【年终总结】mybatis常见注解

田维常

mybatis

还记得你的时间胶囊吗?

熊斌

个人成长 七日更

BitQy交易所软件系统开发|BitQy交易所APP开发

iOS 崩溃分析

ios 崩溃分析

必须清除互联网世界的毒瘤:网络谣言背后存在病态心理

石头IT视角

等不到明年金三银四了!五面滴滴之路,爆砍37K+16薪Offer

Java架构追梦

Java 学习 架构 面试 滴滴

23 种设计模式的有趣见解

xcbeyond

设计模式 七日更

基于App SDK和API搭建无人自习室等无人场景

IoT云工坊

物联网 智慧琴房 24小时无人自习室 24小时自助游戏厅 共享办公室

阿里技术官亲荐“998页的应届生面试手册”看完才发现,原来求职也没那么难!

比伯

Java 程序员 面试 编程语言 计算机

一文带你了解传统手工特征的骨龄评估方法的发展历史

华为云开发者联盟

方法 骨龄 评估

IPFS质押挖矿系统开发方案

区块链商城系统开发模式制作

秒杀系统设计的挑战和问题(转载)

jorden wang

被阿里、腾讯、华为追捧为最牛逼的 Java 框架你知道是什么吗?

Java架构师迁哥

干货时间:聊聊DevOps下的技术系列之契约测试

华为云开发者联盟

DevOps 测试 交互

带宽、延时、吞吐率、PPS 这些都是啥?

小林coding

Linux 操作系统 网络

区块链多币种钱包app系统开发

Spring Cloud微服务实战

田维常

微服务

SQL:我为什么慢你心里没数吗?

Java架构师迁哥

Swift 被 Apple 定义为面向 Protocol 的编程语言 - iOS移动开发周报_移动_王巍_InfoQ精选文章