swift
文章平均质量分 81
ChasingDreamsCoder
这个作者很懒,什么都没留下…
展开
-
swift 基本类型
Swift是一门开发iOS,macOS,watchOS和TVOS应用的语言,然而,如果你有c或者oc开发经验的话,你会发现swift的很多内容都是你熟悉的。swift包含了c和oc上所有基础数据类型,int表示整数型值;double和float表示浮点型值;BOOL是布尔型值;string是文本型数据。swift还提供了三个基本的集合类型,Array,set和Dictionary。就像c语原创 2017-01-08 12:03:43 · 683 阅读 · 0 评论 -
swift 协议
协议定义了一个蓝图,规定了用来实现某一特定任务或者功能的方法、属性,以及其他需要的东西。类、结构体或枚举都可以遵循协议,并未协议定义的这些要求提供具体实现。某个类型能都满足某个协议的要求,就可以说该类型遵循这个协议。除了遵循协议的类型必须实现在要求外,还可以对协议进行扩展,通过扩展来实现一部分要求或者实现一些附加功能,这样遵循协议的类型就能够使用这些功能。属性要求协议可以要求遵循协议的原创 2017-04-14 16:09:34 · 512 阅读 · 0 评论 -
swift 扩展
扩展就是为一个已有类、结构体、枚举类型或者协议类型添加新功能。这包括在没有权限获取原始源代码的情况下扩展类型的能力。扩展和objectvie从中的分类类似。swift中的扩展可以:添加计算类型属性和计算型类型属性定义实例方法和类型方法提供新的构造器定义下标定义和使用新的嵌套类型使一个已有类型符合某个协议在swift中,可以对协议进行扩展,提供协议要求的实现,或者添加原创 2017-04-06 11:16:31 · 366 阅读 · 0 评论 -
swift 继承
一个类可以继承另一个类的方法,属性和其他特性。当一个雷继承其他类的时候,继承类叫子类,被继承类叫超类。在swift中,继承是区分类与其他类型的一个基本特征。在swift中,类可以调用和访问超类的方法,属性和下标,并且可以重写这些方法,属性和下标来优化或修改他们的行为。swift会检查你的重写定义在超类中是否有匹配的定义,以此保证你的重写行为是正确的。可以为类中继承来的属性添加属性观察器,这原创 2017-03-14 09:44:13 · 648 阅读 · 0 评论 -
swift 错误处理
错误处理是响应错误以及从错误中恢复的过程。swift提供了在运行时对可恢复错误的抛出、捕获、传递和操作的一等公民支持。某些操作无法保证总是执行完所有代码或总是生成有用的结果。可选类型可用来表示值缺失,但是当某个操作失败时,最好能得知失败的原因,从而可以做出相应的应对。举个例子,假如有个从磁盘上的某个文件读取数据并进行处理的任务,该任务会有多种可能失败的情况,包括制定路径下文件并不存在,文件原创 2017-03-23 13:48:47 · 927 阅读 · 0 评论 -
swift 下标
下标语法下标允许你通过在实例名称后面的方括号中传入一个或者多个索引值来对实例进行存取。语法类似于实例方法语法和计算型属性语法的混合。与定义实例方法类似,定义下标使用subscript关键字,指定一个或多个输入参数和返回类型:与实例方法不同的是,下标可以设定为读写或只读。这种行为由getter和setter实现,有点类似计算属性。 struct TimesTable { let原创 2017-03-13 14:01:26 · 445 阅读 · 0 评论 -
swift 类型转换
定义一个类层次作为例子你可以将类型转换用在类和子类的层次结构上,检查特定类实例的类型并且转换这个类实例的类型成为这个层次结构中的其他类型。下面的三个代码段定义了一个类层次和一个包含了这些类实例的数组,作为类型转换的例子。第一个代码片段定义了一个新的基类MediaItem。这个类为任何出现在数字媒体库的媒体项提供基础功能。特别的,它声明了一个String原创 2017-03-28 15:36:30 · 888 阅读 · 0 评论 -
swift 枚举
枚举枚举实例: enum CompassPoint{ case north case south case east case west } enum Planet { case mercury,venus,earth,mars,jupiter,saturn,uranus,neptune原创 2017-03-07 17:56:39 · 242 阅读 · 0 评论 -
swift 闭包
闭包闭包是自包含的函数代码块,可以在代码中被传递和使用。swift中的闭包与c和oc中的代码块以及其他一些编程语言中的匿名函数比较相似。闭包可以捕获和存储其所在上下文中任意常量和变量的引用。被称为包裹常量和变量。swift会为你管理在捕获过程中涉及到的所有内存操作。闭包表达式闭包表达式是一种利用简洁语法构建内联闭包的方式。闭包表达式提供了一些语法优化,使得撰写闭包变得简单明了。下面原创 2017-03-07 13:41:17 · 338 阅读 · 0 评论 -
swift 析构器
析构过程原理swift会自动释放不需要的实例以释放资源,swift通过自动引用计数处理实例的内存管理。通常当你的实例被释放时不需要手动的去清理,但是,当使用自己的资源使,可能需要进行一些额外的清理。析构器是在实例释放发生前被自动调用,不能主动调用析构器。子类继承了父类的析构器,并且在子类析构器实现的最后,父类的析构器会被自动调用。即使子类没有提供自己的析构器,父类的析构器也同样会被调用。原创 2017-03-20 17:40:47 · 569 阅读 · 0 评论 -
swift 方法
实例方法实例方法是属于某个特定类、结构体或者枚举类型实例的方法。实例方法提供访问和修改实例属性的方法或者提供与实例目的相关的功能,并以此来支撑实例的功能。下面的例子,定义一个简单的Counter类:原创 2017-03-10 15:10:04 · 301 阅读 · 0 评论 -
swift 构造器
构造过程是使用类、结构体或枚举类型的实例之前的准备过程。在新实例可用前必须执行这个过程,具体操作包括设置实例中每个存储型属性的初始值和执行其他必须的设置或初始化工作。通过定义构造器来实现构造过程,这些构造器可以看做是用来创建特定类型新实例的特殊方法。与oc中的构造器不同,swift的构造器无需返回值,它们的主要任务是保证新实例在第一次使用前完成正确的初始化。类的实例也可以通过定义析构器在实原创 2017-03-19 23:59:29 · 552 阅读 · 0 评论 -
swift 属性
存储属性简单的说,一个存储属性就是存储在特定类或结构体实例里的一个常量或者变量。存储属性可以是变量存储属性也可以是常量存储属性。可以在定义存储属性的时候指定默认值,也可以在构造过程中设置或修改存储属性的值,甚至修改常量存储属性的值。该结构体用于描述整数的范围,这个范围值在创建后不能被修改。因为它是一个常量存储属性。 struct FixedLengthRange {原创 2017-03-09 14:33:01 · 281 阅读 · 0 评论 -
swift 字符串
字符串字面量可以在代码中包含一段预定义的字符串值作为字符串字面量。字符串字面量是由双引号包裹着的具有固定顺序的文本字符集。字符串字面量可以用于为常量和变量提供初始化值:let someString = "some string"初始化空字符串要创建一个空字符串作为初始值,可以将空的字符串字面量赋值给变量,也可以初始化一个新的string实例: var emptyStr原创 2017-02-03 16:24:39 · 499 阅读 · 0 评论 -
swift switch
switch语句必须是完备的,这就是说,每个可能的值都必须至少有一个 case分支与之对应。在某些不可能涵盖所有值的情况下,可以使用默认分支来涵盖其他所有没有对应的值,这个默认分支必须在switch语句的最后面。下面的例子使用switch语句来匹配一个名为someCharacter的小写字符: let someCharacter: Character = "z" switch原创 2017-02-14 14:20:10 · 468 阅读 · 0 评论 -
swift 函数
函数的定义与调用所有的这些信息汇总起来成为函数的定义,并以func作为前缀。指定函数返回类型时,用返回箭头->后跟返回类型的名称方式来表示。 func greet(person:String) -> String { let greeting = "Hello" + person + "!" return greeting }调用:pr原创 2017-02-16 13:35:50 · 530 阅读 · 0 评论 -
swift 基本运算符
空合运算符空合运算符(a??b)将对可选类型a进行空判断,如果a包含一个值就进行解封,否则就返回一个默认值b。表达式a必须是Optional类型。默认值b的类型必须要和a存储值的类型保持一致。空合运算符是对以下代码的简短表达方法:a != nil ? a! : b上述代码使用了三目运算符。当可选类型a的值不为空时,进行牵制解封(a!),访问a中的值;反之返回默认值b。无疑空合运算符(?原创 2017-01-15 13:37:23 · 545 阅读 · 0 评论 -
swift基础
可选类型使用可选类型来处理值可能缺失的情况。可选类型表示:有值,等于x或者没有值来看一个例子,swift的int类型有一种构造器,作用是将一个string值转换成int值。然而,并不知所有的字符串都可以转换成一个整数。字符串“123”可以转换成数字123,但是字符串“hello,world”不行。下面的例子使用这种构造器来尝试将一个string转换成int:let po原创 2017-01-14 15:43:40 · 319 阅读 · 0 评论 -
swift 泛型
泛型函数泛型函数可以适用于任何类型:func swapTwoValues(_ a: inout T, _ b: inout T) { let temporaryA = aa= bb = temporaryA}func swapTwoInts(_ a: inout Int, _ b: inout Int)func swapTwoValues(_ a: inout T, _ b: inou原创 2017-04-17 13:25:29 · 977 阅读 · 0 评论