2016年11月24日
摘要: 除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语和Objective-C中的位运算符和移位运算。 不同于C语言中的数值计算,Swift的数值计算默认是不可溢出的。溢出行为会被捕获并报告为错误。你是故意的?好吧,你可以使用Swift为你准备的另一套默认允许溢出的数值运算符, 阅读全文
posted @ 2016-11-24 09:03 ming1025 阅读(220) 评论(0) 推荐(0) 编辑
摘要: 访问控制可以限定你在源文件或模块中访问代码的级别,也就是说可以控制哪些代码你可以访问,哪些代码你不能访问。这个特性可以让我们隐藏功能实现的一些细节,并且可以明确的指定我们提供给其他人的接口中哪些部分是他们可以使用的,哪些是他们看不到的。 你可以明确的给类、结构体、枚举、设置访问级别,也可以给属性、函 阅读全文
posted @ 2016-11-24 09:01 ming1025 阅读(143) 评论(0) 推荐(0) 编辑
摘要: 泛型代码可以确保你写出灵活的,可重用的函数和定义出任何你所确定好的需求的类型。你可以写出避免重复的代码,并且用一种清晰的,抽象的方式表达出来。 泛型是Swift许多强大特征中的其中一个,许多Swift标准库是通过泛型代码构建出来的。事实上,你已经使用泛型贯穿着整个Language Guide,即便你 阅读全文
posted @ 2016-11-24 09:00 ming1025 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 协议定义了一个方法的蓝图,属性和其他适合特定任务或功能的要求。协议实际上并不提供一个这些要求的实现,它只是描述了一个实现会是什么样子。协议可以通过一个类,结构或枚举提供这些要求的具体实现。满足要求的任何类型的协议都是符合协议。 协议可以要求符合类型有特定的实例属性,实例方法,类型丰富,操作符和下标。 阅读全文
posted @ 2016-11-24 08:58 ming1025 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)。扩展和 Objective-C 中的分类(categories)类似。(不过与Objective-C不同的是,Swift 的扩展没有名字。) Swif 阅读全文
posted @ 2016-11-24 08:55 ming1025 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 枚举类型常被用于实现特定类或结构体的功能。也能够在有多种变量类型的环境中,方便地定义通用类或结构体来使用,为了实现这种功能,Swift允许你定义类型嵌套,可以在枚举类型、类和结构体中定义支持嵌套的类型。 要在一个类型中嵌套另一个类型,将需要嵌套的类型的定义写在被嵌套类型的区域{}内,而且可以根据需要 阅读全文
posted @ 2016-11-24 08:53 ming1025 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 类型转换是一种检查类实例的方式,并且哦或者也是让实例作为它的父类或者子类的一种方式。 Type casting is a way to check the type of an instance, and/or to treat that instance as if it is a differe 阅读全文
posted @ 2016-11-24 08:49 ming1025 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 自判断链接(Optional Chaining)是一种可以请求和调用属性、方法及子脚本的过程,它的自判断性体现于请求或调用的目标当前可能为空(nil)。如果自判断的目标有值,那么调用就会成功;相反,如果选择的目标为空(nil),则这种调用将返回空(nil)。多次请求或调用可以被链接在一起形成一个链, 阅读全文
posted @ 2016-11-24 08:48 ming1025 阅读(164) 评论(0) 推荐(0) 编辑
摘要: Swift使用自动引用计数(ARC)来跟踪并管理应用使用的内存。大部分情况下,这意味着在Swift语言中,内存管理"仍然工作",不需要自己去考虑内存管理的事情。当实例不再被使用时,ARC会自动释放这些类的实例所占用的内存。 然而,在少数情况下,为了自动的管理内存空间,ARC需要了解关于你的代码片段之 阅读全文
posted @ 2016-11-24 08:46 ming1025 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 在一个类的实例被释放之前,反初始化函数被立即调用。用关键字deinit来标示反初始化函数,类似于初始化函数用init来标示。反初始化函数只适用于类类型。 反初始化原理 Swift会自动释放不再需要的实例以释放资源。如自动引用计数那一章描述,Swift通过自动引用计数(ARC)处理实例的内存管理。通常 阅读全文
posted @ 2016-11-24 08:44 ming1025 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程。这个过程包含了为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务。 构造过程是通过定义构造器(Initializers)来实现的,这些构造器可以看做是用来创建特定类型实例的特殊方法。与 Objective-C 中的构造器不同 阅读全文
posted @ 2016-11-24 08:43 ming1025 阅读(173) 评论(0) 推荐(0) 编辑
摘要: 一个类可以继承(inherit)另一个类的方法(methods),属性(property)和其它特性。当一个类继承其它类时,继承类叫子类(subclass),被继承类叫超类(或父类,superclass)。在 Swift 中,继承是区分「类」与其它类型的一个基本特征。 在 Swift 中,类可以调用 阅读全文
posted @ 2016-11-24 08:42 ming1025 阅读(136) 评论(0) 推荐(0) 编辑