programming专题提供programming的最新资讯内容,帮你更好的了解programming。
基础部分 常量和变量 声明常量和变量 类型标注 常量和变量的命名 基础部分 首先,我们看看Swift语言的基础部分,了解Swift的常量、变量和基础数据类型。 Swift包含了C和Objective-C上所有基础数据类型,Int、Double、Float、Bool和String。此外,提供了三个基本的集合类型:Array、Set和Dictionary。 在Swift中,如果要处理的值需要保持不变,
基本运算符 术语 赋值运算符 算术运算符 求余运算符 浮点数求余计算 自增和自减运算 一元负号运算符 一元正号运算符 组合赋值运算符 比较运算符 三目运算符 空合运算符 区间运算符 闭区间运算符 半开区间运算符 逻辑运算 逻辑非 逻辑与 逻辑或 逻辑运算符组合计算 使用括号来明确优先级 基本运算符 今天我们来看看Swift的基本运算符。 Swift支持大部分标准C语言的运算符,且改进许多特性来减少
控制流 for循环 for-in for while循环 while repeat-while 条件语句 if switch 不存在隐式的贯穿 区间匹配 元组 值绑定 where 控制转移语句 continue break 循环语句中的break switch语句中的break fallthrough 带标签的语句 提前退出 检测API可用性 控制流 Swift提供了类似C语言的流程控制结构,包括
集合类型 集合的可变性 数组 数组的简单语法 创建一个空数组 创建一个带有默认值的数组 通过两个数组相加创建一个数组 用字面量构造数组 访问和修改数组 数组的遍历 集合 集合类型的哈希值 集合类型语法 创建和构造一个空的集合 用数组字面量创建集合 访问和修改一个集合 遍历一个集合 集合操作 基本集合操作 集合成员关系和相等 字典 字典类型快捷语法 创建一个空字典 用字典字面值创建字典 访问和修改字
函数 函数定义与调用 函数参数与返回值 无参函数 多参数函数 无返回值函数 多重返回值函数 可选元组返回类型 函数参数名称 指定外部参数名 忽略外部参数名 默认参数值 可变参数 常量参数和变量参数 输入输出参数 函数类型 使用函数类型 函数类型作为参数类型 函数类型作为返回类型 嵌套函数 函数 Swift统一的函数语法足够灵活,可以用来表示任何函数,包括从最简单的没有参数名字的C风格函数,到复杂的
闭包 闭包表达式 sort方法 闭包表达式语法 根据上下文推断类型 单表达式闭包隐式返回 参数名称缩写 运算符函数 尾随闭包 值捕获 闭包是引用类型 非逃逸闭包 自动闭包 闭包 闭包是自包含的函数代码块,可以在代码中被传递和使用。Swift中的闭包与C和Objective-C中的代码块(blocks)以及其他一些编程语言中的匿名函数比较相似。 闭包可以捕获和存储其所在上下文中任意常量和变量的引用。
枚举 枚举语法 使用switch语句匹配枚举值 关联值 原始值 原始值的隐式赋值 使用原始值初始化枚举实例 递归枚举 枚举 枚举为一组相关的值定义了一个共同的类型,使你可以在你的代码中以类型安全的方式来使用这些值。 在C语言中,枚举会为一组整型值分配相关联的名称。Swift中的枚举更加灵活,不必给每一个枚举成员提供一个值。如果给枚举成员提供一个值(称为原始值),则该值的类型可以是字符串、字符、或是
类和结构体 类和结构体对比 定义语法 类和结构实例 属性访问 结构体类型的成员逐一构造器 结构体和枚举是值类型 类是引用类型 恒等运算符 指针 类和结构体的选择 字符串数组和字典类型的赋值与赋值行为 类和结构体 类和结构体是人们构建代码所用的一种通用且灵活的构造体。我们可以使用完全相同的语法规则来为类和结构体定义属性(常量、变量)和添加方法,从而扩展类和结构体的功能。 与其他编程语言所不同的是,S
属性 存储属性 常量结构体的存储属性 延迟存储属性 存储属性和实例变量 计算属性 便携setter声明 只读计算属性 属性观察器 全局变量和局部变量 类型属性 类型属性语法 获取和设置类型属性的值 属性 属性将值跟特定的类、结构或枚举关联。存储属性存储常量或变量作为实例的一部分,而计算属性计算(不是存储)一个值。计算属性可以用于类、结构体和枚举,存储属性只能用于类和结构体。 存储属性和计算属性通常
方法 实例方法 方法的局部参数名称和外部参数名称 修改方法的外部参数名称 self属性 在实例方法中修改值类型 在可变方法中给self赋值 类型方法 方法 方法是与某些特定类型相关联的函数。类、结构体、枚举都可以定义实例方法;实例方法为给定类型的实例封装了具体的任务与功能。类、结构体、枚举也可以定义类型方法;类型方法与类型本身相关联。类型方法与Objective-C中的类方法(class meth
下标 下标语法 下标用法 下标选项 下标 下标(subscripts)可以定义在类(class)、结构体(structure)和枚举(enumeration)中,是访问集合(collection),列表(list)或序列(sequence)中元素的快捷方式。可以使用下标的索引,设置和获取值,而不需要再调用对应的存取方法。举例来说,用下标访问一个Array实例中的元素可以写作someArray[in
继承 定义一个基类 子类生成 重写 访问超类的方法属性及下标 重写方法 重写属性 重写属性的getters和setters 重写属性观察器 防止重写 继承 一个类可以继承(inherit)另一个类的方法(methods),属性(properties)和其它特性。当一个类继承其它类时,继承类叫子类(subclass),被继承类叫超类(或父类,superclass)。在Swift中,继承是区分「类」与
构造过程 存储属性的初始赋值 构造器 默认属性值 自定义构造过程 参数的内部名称和外部名称 不带外部名的构造器参数 可选属性类型 构造过程中常量类型的修改 默认构造器 结构体的逐一成员构造器 值类型的构造器代理 类的继承和构造过程 指定构造器和便利构造器 指定构造器和便利构造器的语法 类的构造器代理规则 两段式构造过程 构造器的继承和重写 构造器的自动继承 指定构造器和便利构造器实践 可失败构造器
析构过程 析构过程原理 析构器实践 析构过程 析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字deinit来标示,类似于构造器要用init来标示。 析构过程原理 Swift会自动释放不再需要的实例以释放资源。Swift通过自动引用计数(ARC)处理实例的内存管理。通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资源时,你可能需要进行一些额外的清理。例如
可选链式调用 使用可选链式调用代替强制展开 为可选链式调用定义模型类 通过可选链式调用访问属性 通过可选链式调用调用方法 通过可选链式调用访问下标 访问可选类型的下标 连接多层可选链式调用 在方法的可选返回值上进行可选链式调用 可选链式调用 可选链式调用(Optional Chaining)是一种可以在当前值可能为nil的可选值上请求和调用属性、方法及下标的方法。如果可选值有值,那么调用就会成功;
自动引用计数 自动引用计数的工作机制 自动引用计数实践 类实例之间的循环强引用 解决实例之间的循环强引用 弱引用 无主引用 无主引用以及隐式解析可选属性 闭包引起的循环强引用 解决闭包引起的循环强引用 定义捕获列表 弱引用和无主引用 自动引用计数 本章十分重要,文档原文配有大量的图解,具体请查阅官方文档。 Swift使用自动引用计数(ARC)机制来跟踪和管理你的应用程序的内存。通常情况下,Swif
错误处理 表示并抛出错误 处理错误 用throwing函数传递错误 用do-catch处理错误 把错误转换成可选值 禁用错误传递 指定清理操作 错误处理 错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一流支持。 某些操作无法保证总是执行完所有代码或总是生成有用的结果。可选类型可用来表示值缺失,但是当某个操作失
类型转换 定义一个类层次作为例子 检查类型 向下转型 Any和AnyObject的类型转换 AnyObject类型 Any类型 类型转换 类型转换可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。 类型转换在Swift中使用is和as操作符实现。这两个操作符提供了一种简单达意的方式去检查值的类型或者转换它的类型。 你也可以用它来检查一个类型是否实现了某个协议。 定义一个类层次作为例子 可
嵌套类型 嵌套类型实践 引用嵌套类型 嵌套类型 枚举常被用于为特定类或结构体实现某些功能。类似地,也能够在某个复杂的类型中,方便地定义工具类或结构体来使用。为了实现这种功能,Swift允许你定义嵌套类型,可以在支持的类型中定义嵌套的枚举、类和结构体。 要在一个类型中嵌套另一个类型,将嵌套类型的定义写在其外部类型的{}内,而且可以根据需要定义多级嵌套。 嵌套类型实践 /** * 一个结构体Black
扩展 扩展语法 计算型属性 构造器 方法 可变实例方法 下标 嵌套类型 扩展 扩展就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)。扩展和Objective-C中的分类类似。(与Objective-C不同的是,Swift的扩展没有名字。) Swift 中的扩展可以: 添加计算型属性和计算型类型属性 定义实例方法和类型方法