前言
虽然编程语言不会那么容易消逝,但坚持衰落范例的开发小组正在这么做。如果你正为移动设备开发应用程序,并且你还没有研究Swift,那么注意:当Swift涉及到Mac、iPhone、ipad、Apple Watch和未来设备的应用开发时,它不仅会排挤掉Objective-C,而且还会取代在Apple平台中做嵌入式开发的C语言。 Swift有大量有趣的语法、特性、特点,只要掌握了用法就可以利用好它们。
在这篇文章中我会带你浏览我选择出的10条小提示,并附有已验证的代码供大家试用。
1.类与协议的existential
Existential类型允许我们说出想要一个类型具有哪种功能,而不用请求某些特定的东西。比如我们可以写一个接收类或子类的函数:
func process(user: User) { }
之后我们写一个函数,让它能接收符合某个协议的任意类型对象:
func identify(thing: Identifiable) { }
Swift允许我们让existential同时代表类与协议
下例中,有一个协议和一个符合该协议的类
protocol CanCook { }
class CelebrityChef: CanCook { }
之后再有一个类,并附有一个子类
class Appliance { }
class Hairdryer: Appliance { }
现在我们有了一个定义东西是否CanCook的协议,和一个定义我们家里东西的类。当我们把这两个合二为一时候就变得复杂了——用餐饮工具(Appliance)做饭。








