swift教程
惟爱妮
学无止境
展开
-
Swift3.0中文教程: 10.属性
属性 (Properties)1.0 翻译:shinyzhu 校对:pp-prog yangsiy2.0 翻译+校对:yangsiy2.1 翻译:buginux 校对:shanks,2015-10-292.2 翻译:saitjr,2016-04-11,SketchK 2016-05-13本页包含内容:存储属性(Stored Properties)计算属性(C转载 2016-11-29 15:41:58 · 416 阅读 · 0 评论 -
Swift3.0中文教程:17.可选链
可选链式调用(Optional Chaining)是一种可以在当前值可能为nil的可选值上请求和调用属性、方法及下标的方法。如果可选值有值,那么调用就会成功;如果可选值是nil,那么调用将返回nil。多个调用可以连接在一起形成一个调用链,如果其中任何一个节点为nil,整个调用链都会失败,即返回nil。注意Swift 的可选链式调用和 Objective-C 中向nil发送消息有些相像,转载 2016-12-08 18:21:44 · 304 阅读 · 0 评论 -
Swift3.0中文教程:1.基础部分
基础部分(The Basics)1.0 翻译:numbbbbb, lyuka, JaySurplus 校对:lslxdx2.0 翻译+校对:xtymichael2.1 翻译:Prayer 校对:shanks,overtrue2.2 校对:SketchK3.0 校对:CMB版本日期:2016-09-13本页包含内容:常量和变量声明常量和变量类型标注常量和变转载 2016-11-29 15:37:37 · 1334 阅读 · 0 评论 -
Swift3.0中文教程:2.基本运算符
基本运算符(Basic Operators)1.0 翻译:XieLingWang 校对:EvilCome2.0 翻译+校对:JackAlan2.1 校对:shanks2.2 翻译+校对:Cee 校对:SketchK,2016-05-11本页包含内容:术语赋值运算符算术运算符组合赋值运算符比较运算符三目运算符空合运算符区间运算符逻辑运算符运算符是检查、改变转载 2016-11-29 15:38:11 · 1041 阅读 · 0 评论 -
Swift3.0中文教程:18.错误处理
错误处理(Error handling)是响应错误以及从错误中恢复的过程。Swift 提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一流支持。某些操作无法保证总是执行完所有代码或总是生成有用的结果。可选类型可用来表示值缺失,但是当某个操作失败时,最好能得知失败的原因,从而可以作出相应的应对。举个例子,假如有个从磁盘上的某个文件读取数据并进行处理的任务,该任务会有多种可能失败的情况,包转载 2016-12-08 18:23:31 · 1055 阅读 · 0 评论 -
Swift3.0中文教程:19.类型转换
类型转换 可以判断实例的类型,也可以将实例看做是其父类或者子类的实例。类型转换在 Swift 中使用 is 和 as 操作符实现。这两个操作符提供了一种简单达意的方式去检查值的类型或者转换它的类型。你也可以用它来检查一个类型是否实现了某个协议,就像在检验协议的一致性部分讲述的一样。定义一个类层次作为例子你可以将类型转换用在类和子类的层次结构上,检查特定类实例的类型并且转换这个类转载 2016-12-08 18:24:27 · 705 阅读 · 0 评论 -
Swift3.0中文教程:20.嵌套类型
枚举常被用于为特定类或结构体实现某些功能。类似的,枚举可以方便的定义工具类或结构体,从而为某个复杂的类型所使用。为了实现这种功能,Swift 允许你定义嵌套类型,可以在支持的类型中定义嵌套的枚举、类和结构体。要在一个类型中嵌套另一个类型,将嵌套类型的定义写在其外部类型的{}内,而且可以根据需要定义多级嵌套。嵌套类型实践下面这个例子定义了一个结构体BlackjackCard(二十一点转载 2016-12-08 18:25:13 · 364 阅读 · 0 评论 -
Swift3.0中文教程:21.拓展
扩展 就是为一个已有的类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即 逆向建模 )。扩展和 Objective-C 中的分类类似。(与 Objective-C 不同的是,Swift 的扩展没有名字。)Swift 中的扩展可以:添加计算型属性和计算型类型属性定义实例方法和类型方法提供新的构造器定义下标定义和使用新的嵌套类型使一个已有类转载 2016-12-08 18:27:59 · 380 阅读 · 0 评论 -
Swift3.0中文教程:22.协议
在 Swift 中,有三种类型的语句:简单语句、编译器控制语句和控制流语句。简单语句是最常见的,用于构造表达式或者声明。编译器控制语句允许程序改变编译器的行为,包含编译配置语句和行控制语句。控制流语句则用于控制程序执行的流程,Swift 中有多种类型的控制流语句:循环语句、分支语句和控制转移语句。循环语句用于重复执行代码块;分支语句用于执行满足特定条件的代码块;控制转移语句则用于改变代码的执行转载 2016-12-15 11:04:14 · 490 阅读 · 0 评论 -
Swift3.0中文教程:23.泛型
泛型代码让你能够根据自定义的需求,编写出适用于任意类型、灵活可重用的函数及类型。它能让你避免代码的重复,用一种清晰和抽象的方式来表达代码的意图。泛型是 Swift 最强大的特性之一,许多 Swift 标准库是通过泛型代码构建的。事实上,泛型的使用贯穿了整本语言手册,只是你可能没有发现而已。例如,Swift 的 Array 和 Dictionary 都是泛型集合。你可以创建一个 Int 数组,也转载 2016-12-15 11:05:33 · 1338 阅读 · 1 评论 -
Swift3.0中文教程:24.访问控制
访问控制可以限定其他源文件或模块中的代码对你的代码的访问级别。这个特性可以让我们隐藏代码的一些实现细节,并且可以为其他人可以访问和使用的代码提供接口。你可以明确地给单个类型(类、结构体、枚举)设置访问级别,也可以给这些类型的属性、方法、构造器、下标等设置访问级别。协议也可以被限定在一定的范围内使用,包括协议里的全局常量、变量和函数。Swift 不仅提供了多种不同的访问级别,还为某些典型场景转载 2016-12-15 11:06:28 · 444 阅读 · 0 评论 -
Swift3.0中文教程:16.自动引用计数
Swift 使用自动引用计数(ARC)机制来跟踪和管理你的应用程序的内存。通常情况下,Swift 内存管理机制会一直起作用,你无须自己来考虑内存的管理。ARC 会在类的实例不再被使用时,自动释放其占用的内存。然而在少数情况下,为了能帮助你管理内存,ARC 需要更多的,代码之间关系的信息。本章描述了这些情况,并且为你示范怎样才能使 ARC 来管理你的应用程序的所有内存。注意引用计数仅转载 2016-12-08 18:20:39 · 332 阅读 · 0 评论 -
Swift3.0中文教程:15.析构过程
析构器只适用于类类型,当一个类的实例被释放之前,析构器会被立即调用。析构器用关键字deinit来标示,类似于构造器要用init来标示。析构过程原理Swift 会自动释放不再需要的实例以释放资源。如自动引用计数章节中所讲述,Swift 通过自动引用计数(ARC)处理实例的内存管理。通常当你的实例被释放时不需要手动地去清理。但是,当使用自己的资源时,你可能需要进行一些额外的清理。例如,如果转载 2016-12-08 18:19:15 · 322 阅读 · 0 评论 -
Swift3.0中文教程:14.构造过程
构造过程是使用类、结构体或枚举类型的实例之前的准备过程。在新实例可用前必须执行这个过程,具体操作包括设置实例中每个存储型属性的初始值和执行其他必须的设置或初始化工作。通过定义构造器(Initializers)来实现构造过程,这些构造器可以看做是用来创建特定类型新实例的特殊方法。与 Objective-C 中的构造器不同,Swift 的构造器无需返回值,它们的主要任务是保证新实例在第一次使用前完转载 2016-12-08 18:17:44 · 441 阅读 · 0 评论 -
Swift3.0中文教程: 9.类和结构体
类和结构体(Classes and Structures)1.0 翻译:JaySurplus 校对:sg5522.0 翻译+校对:SkyJean2.1 校对:shanks,2015-10-292.2 校对:SketchK 2016-05-13本页包含内容:类和结构体对比结构体和枚举是值类型类是引用类型类和结构体的选择字符串(String)、数组(Array)、和转载 2016-11-29 15:41:03 · 458 阅读 · 0 评论 -
Swift3.0中文教程: 8.枚举
枚举(Enumerations)1.0 翻译:yankuangshi 校对:shinyzhu2.0 翻译+校对:futantan2.1 翻译:Channe 校对:shanks,2.2 翻译+校对:SketchK 2016-05-13本页内容包含:枚举语法(Enumeration Syntax)使用 Switch 语句匹配枚举值(Matching Enumer转载 2016-11-29 15:40:40 · 2626 阅读 · 0 评论 -
Swift3.0中文教程:7.闭包
闭包(Closures)1.0 翻译:wh1100717 校对:lyuka2.0 翻译+校对:100mango2.1 翻译:100mango, magicdict 校对:shanks2.2 翻译+校对:SketchK 2016-05-123.0 翻译:Lanford 2016-09-19本页包含内容:闭包表达式(Closure Expressions)尾转载 2016-11-29 15:40:16 · 586 阅读 · 0 评论 -
Swift3.0中文教程:6.函数
函数(Functions)1.0 翻译:honghaoz 校对:LunaticM2.0 翻译+校对:dreamkidd2.1 翻译:DianQK 定稿:shanks2.2 翻译+校对:SketchK 2016-05-123.0 翻译: crayygy 2016-09-12本页包含内容:函数定义与调用(Defining and Calling Functi转载 2016-11-29 15:39:46 · 566 阅读 · 0 评论 -
Swift3.0中文教程:5.控制流
控制流(Control Flow)1.0 翻译:vclwei, coverxit, NicePiao 校对:coverxit, stanzhai2.0 翻译+校对:JackAlan2.1 翻译:Prayer 校对:shanks2.2 翻译:LinusLing 校对:SketchK3.0 翻译:Realank 2016-09-13本页包含内容:For-In转载 2016-11-29 15:39:24 · 747 阅读 · 0 评论 -
Swift3.0中文教程:4.集合类型
集合类型 (Collection Types)1.0 翻译:zqp 校对:shinyzhu, stanzhai, feiin2.0 翻译+校对:JackAlan2.1 校对:shanks2.2 校对:SketchK 2016-05-11本页包含内容:集合的可变性(Mutability of Collections)数组(Arrays)集合(Sets)字典(D转载 2016-11-29 15:39:02 · 774 阅读 · 0 评论 -
Swift3.0中文教程:3.字符串和字符
字符串和字符(Strings and Characters)1.0 翻译:wh1100717 校对:Hawstein2.0 翻译+校对:DianQK2.1 翻译:DianQK 校对:shanks, Realank, 2.2 校对:SketchK3.0 校对:CMB版本日期:2016-09-13本页包含内容:字符串字面量初始化空字符串字符串可变性字符串转载 2016-11-29 15:38:36 · 1111 阅读 · 0 评论 -
Swift3.0中文教程:11.方法
方法是与某些特定类型相关联的函数。类、结构体、枚举都可以定义实例方法;实例方法为给定类型的实例封装了具体的任务与功能。类、结构体、枚举也可以定义类型方法;类型方法与类型本身相关联。类型方法与 Objective-C 中的类方法(class methods)相似。结构体和枚举能够定义方法是 Swift 与 C/Objective-C 的主要区别之一。在 Objective-C 中,类是唯一能定义转载 2016-12-08 18:14:45 · 339 阅读 · 0 评论 -
Swift3.0中文教程:12.下标
下标 (subscripts)可以定义在类(class)、结构体(structure)和枚举(enumeration)中,是访问集合(collection),列表(list)或序列(sequence)中元素的快捷方式。可以使用下标的索引,设置和获取值,而不需要再调用对应的存取方法。举例来说,用下标访问一个Array实例中的元素可以写作someArray[index],访问Dictionary实例中转载 2016-12-08 18:15:56 · 411 阅读 · 0 评论 -
Swift3.0中文教程:13.继承
一个类可以继承(inherit)另一个类的方法(methods),属性(properties)和其它特性。当一个类继承其它类时,继承类叫子类(subclass),被继承类叫超类(或父类,superclass)。在 Swift 中,继承是区分「类」与其它类型的一个基本特征。在 Swift 中,类可以调用和访问超类的方法,属性和下标(subscripts),并且可以重写(override)这些方法转载 2016-12-08 18:16:49 · 515 阅读 · 0 评论 -
Swift3.0中文教程:25.高级运算符
除了在之前介绍过的基本运算符,Swift 中还有许多可以对数值进行复杂运算的高级运算符。这些高级运算符包含了在 C 和 Objective-C 中已经被大家所熟知的位运算符和移位运算符。与 C 语言中的算术运算符不同,Swift 中的算术运算符默认是不会溢出的。所有溢出行为都会被捕获并报告为错误。如果想让系统允许溢出行为,可以选择使用 Swift 中另一套默认支持溢出的运算符,比如溢出加法运算转载 2016-12-15 11:07:24 · 539 阅读 · 0 评论