使用 UIKit 进行面向协议的编程

这是给稀土掘金的一篇译文,先帖我 blog 上,已经有小伙发现错误了,大家看看有其他啥错误没,英文原文 Swift 中令人耳目一新的『面向协议编程』在 2015 年 WWDC 上一经推出,街头巷尾都在热情洋溢地讨论着协议扩展(protocol extensions)---这一激动人心的语言新特性,既然是新特性,第一次接触总要走点弯路。 我已经阅读过无数篇关于 Swift 协议和协议扩展来龙去脉的文章,这些文章无疑都表达了同一个观点:在 »

当 Swift 中的协议遇到泛型

Swift 中的协议如果需要泛型化,可以通过抽象类型成员的方式实现,而不是在参数类型上做文章。至此,协议本身可以不再被当成是一个类型,而是看做一个通用的约束。英文原文 Update: Swift 2.2 已将协议中 associated types 的关键字由 typealias 替换为 associatedtype 问题 如果你曾将一个泛型协议当做类型使用: protocol GenericProtocol { typealias AbstractType func »

枚举作为常量使用的一个小技巧

给 Swift.GG 翻译文章的时候,顺着文中的链接又学习了两篇,现在翻译这么多篇也算有点心得了,也总结了一整套还算完备的理论,以后会找时间专门说说。 这篇很简单,大概记录下,就不逐句翻译了 众所周知,Swift 中的枚举类型比 OC 强大多了。今天介绍一种拿枚举当做常量使用的小技巧。 为你的 Image Assets 添加枚举 以前创建图片都用 UIImage(named: "FooBar") 这种方式, »

关于 guard 的另一种观点

英文原文:http://ericasadun.com/2016/01/01/another-take-on-guard/ 今天,iOS Dev 周刊 贴出一篇 Alexei Kuznetsov 的关于『从你的代码中删除 guard 』的文章。Kuznetsov 指出支持他这篇文章的理论依据主要来自于 Robert C. Martin,这位世界顶级软件开发大师提出:代码必须精简。 »

What’s New in Swift 2.0 简要介绍

看了很多篇介绍 Swift 2.0 的,感觉 Appcoda 这篇介绍的比较清楚,顺手学习并翻译了一下,英文原文看 这里. What’s New in Swift 2.0: A Brief Introduction 一年前,Apple 为 iOS 和 »