写点什么

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:3011197
用户头像

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

关注

评论

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

和 if else说再见,SpringBoot 这样做参数校验才足够优雅!

Java你猿哥

Java spring Spring Boot ssm if-else

大厂面试难?对标大厂“Java系统性能优化实战”二面阿里轻松搞定

Java你猿哥

面试 性能优化 SSM框架 Java性能优化

中移链合约常用开发介绍(三)工程化开发智能合约

BSN研习社

别再说你不懂Java内存模型了!!!

Java 内存模型 JMM 并发

MySQL的varchar字段最大长度真的是65535吗?

Java你猿哥

MySQL 后端 SSM框架 varchar

薪资结构重铸: Zebec将业务范围扩大到Web2薪资管理领域

鳄鱼视界

解决90%的面试!GitHub新兴“java面试手册 2023” 一网打尽BAT大厂

Java你猿哥

Java MySQL Spring Boot JVM MySQL面试

大数据Hadoop之——HDFS小文件问题与处理实战操作

Openlab_cosmoplat

hdfs 开源社区 大数据Hadoop

深度学习基础入门篇[六(1)]:模型调优:注意力机制[多头注意力、自注意力],正则化【L1、L2,Dropout,Drop Connect】等

汀丶人工智能

人工智能 机器学习 深度学习

一次「找回」TraceId的问题分析与过程思考

Java 中间件 raceId

火山引擎DataTester 3大功能升级:聚焦敏捷、智能与易用,帮助企业降本增效

字节跳动数据平台

大数据 AB testing实战 A/B 测试 对比实验

零样本文本分类应用:基于UTC的医疗意图多分类,打通数据标注-模型训练-模型调优-预测部署全流程。

汀丶人工智能

人工智能 自然语言处理 深度学习 文本分类 小样本学习

微服务 Spring Boot 整合Redis分布式锁 实现优惠卷秒杀 一人一单

Bug终结者

redis 底层原理 三周年连更

校企共建|阿里云与重庆大学人才培养交流会顺利举行

云布道师

阿里云

破防了!阿里用17个真实企业级项目阐述Java系统分析与架构设计

Java你猿哥

微服务架构 架构设计 Java系统性能 Redis开发与运维 MySQl部署

进击的 Java !

OpenAnolis小助手

Java 开源 云原生 GOTC 龙蜥技术

数智融合,生态链接丨 亚信科技“信伙伴”交流会(成都站)成功举办

亚信AntDB数据库

AntDB AntDB数据库 企业号 4 月 PK 榜

BSN-DDC基础网络详解(九):跨链机制

BSN研习社

DataEase 对接明道云展示表格应用数据

搞大屏的小北

数据可视化 明道云 对接api 展示明道云

震撼!阿里架构师全新产出Java面试突击宝典。Github标星疯涨!

Java你猿哥

spring Spring Boot JVM mybatis java面试

等级保护5个级别详细说明-行云管家

行云管家

网络安全 等保 等级保护

chatGPT衣食住行10种场景系列教程(01)chatGPT热点事件汇总+开发利器

非喵鱼

java openai AIGC ChatGPT 三周年连更

css实现瀑布流效果

格斗家不爱在外太空沉思

CSS 三周年连更

搭建一站式OpenHarmony设备开发Windows开发环境。

坚果

OpenHarmony 三周年连更

第二届中国国际软件发展大会|华为:构筑坚实软件根基,赋能数字经济高质量发展

极客天地

2023年免费堡垒机软件推荐-行云管家堡垒机免费版

行云管家

网络安全 堡垒机

ChatGPT 真能带货吗?晒一下 SQL Chat 上线 3 周以来的真实运营数据📊

Bytebase

MySQL sql postgres ChatGPT SQL Server

膜拜!华为内部都在强推的783页大数据处理系统:Hadoop源代码

Java 大数据 hadoop

海通证券与易观千帆达成合作,构建优质客户生态圈

易观分析

金融 证券 经济

【4.14-4.21】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

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