摘要:
扩展就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即 逆向建模)。扩展和 Objective-C 的分类类似。(与 Objective-C 不同的是,Swift 的扩展没有名字。) swift 中的扩展可以: 添加计算型属性和计算型 阅读全文
摘要:
枚举常被用于为特定类或结构体实现某些功能。类似的,枚举可以方便的定义工具栏或结构体,从而为某个复杂的类型所使用。为了实现这种功能,swift 允许你定义嵌套类型,可以在支持的类型中定义嵌套的枚举、类和结构体。 要在一个类型中嵌套另一个类型,将嵌套类型的定义写在其外部类型的 {} 内,而且可以根据需要 阅读全文
摘要:
类型转换可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。 类型转换在 swift 中使用 is 和 as 操作符实现。这两个操作符提供了一种简单达意的方式去检查值的类型或者转换它的的类型。 你也可以用它来检查一个类型是否实现了某个协议,就像在检验协议的一致性部分讲述的一样。 定义一个类层 阅读全文
摘要:
错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一等公民支持。 某些操作无法保证总是执行完所有代码或总是生成有用的结果。可选类型可用来表示值缺失吗,但是当某个操作失败时,最好能得知失败的原因,从而可以作出相应的 阅读全文
摘要:
可选链式调用是一种可以在当前值可能为 nil 的可选值上请求和调用属性、方法及下标的方法。如果可选值有值,那么调用就会成功;如果可选值是 nil,那么调用将返回 nil。多个调用可以连接在一起形成一个调用链,如果其中任何一个节点为 nil,整个调用链都会失败,即返回 nil。 注意 swift 的可 阅读全文