2018年12月21日

Swift 访问控制

摘要: 访问控制可以限定其他源文件或模块中代码对你代码的访问级别。 你可以明确地给单个类型(类、结构体、枚举)设置访问级别,也可以给这些类型的属性、函数、初始化方法、基本类型、下标索引等设置访问级别。 协议也可以被限定在一定的范围内使用,包括协议里的全局常量、变量和函数。 访问控制基于模块与源文件。 模块指 阅读全文

posted @ 2018-12-21 15:31 LoaderMan 阅读(193) 评论(0) 推荐(0)

Swift 泛型

摘要: Swift 提供了泛型让你写出灵活且可重用的函数和类型。 Swift 标准库是通过泛型代码构建出来的。 Swift 的数组和字典类型都是泛型集。 你可以创建一个Int数组,也可创建一个String数组,或者甚至于可以是任何其他 Swift 的类型数据数组。 以下实例是一个非泛型函数 exchange 阅读全文

posted @ 2018-12-21 15:28 LoaderMan 阅读(435) 评论(0) 推荐(0)

Swift 协议

摘要: 协议规定了用来实现某一特定功能所必需的方法和属性。 任意能够满足协议要求的类型被称为遵循(conform)这个协议。 类,结构体或枚举类型都可以遵循协议,并提供具体实现来完成协议定义的方法和功能。 语法 协议的语法格式如下: 要使类遵循某个协议,需要在类型名称后加上协议名称,中间以冒号:分隔,作为类 阅读全文

posted @ 2018-12-21 15:10 LoaderMan 阅读(252) 评论(0) 推荐(0)

Swift 扩展

摘要: 扩展就是向一个已有的类、结构体或枚举类型添加新功能。 扩展可以对一个类型添加新的功能,但是不能重写已有的功能。 Swift 中的扩展可以: 添加计算型属性和计算型静态属性 定义实例方法和类型方法 提供新的构造器 定义下标 定义和使用新的嵌套类型 使一个已有类型符合某个协议 语法 扩展声明使用关键字  阅读全文

posted @ 2018-12-21 15:06 LoaderMan 阅读(182) 评论(0) 推荐(0)

Swift 类型转换

摘要: Swift 语言类型转换可以判断实例的类型。也可以用于检测实例类型是否属于其父类或者子类的实例。 Swift 中类型转换使用 is 和 as 操作符实现,is 用于检测值的类型,as 用于转换类型。 类型转换也可以用来检查一个类是否实现了某个协议。 定义一个类层次 以下定义了三个类:Subjects 阅读全文

posted @ 2018-12-21 15:01 LoaderMan 阅读(217) 评论(0) 推荐(0)

Swift 自动引用计数(ARC)

摘要: Swift 使用自动引用计数(ARC)这一机制来跟踪和管理应用程序的内存 通常情况下我们不需要去手动释放内存,因为 ARC 会在类的实例不再被使用时,自动释放其占用的内存。 但在有些时候我们还是需要在代码中实现内存管理。 ARC 功能 当每次使用 init() 方法创建一个类的新的实例的时候,ARC 阅读全文

posted @ 2018-12-21 14:57 LoaderMan 阅读(291) 评论(0) 推荐(0)

Swift 可选链

摘要: 可选链(Optional Chaining)是一种可以请求和调用属性、方法和子脚本的过程,用于请求或调用的目标可能为nil。 可选链返回两个值: 如果目标有值,调用就会成功,返回该值 如果目标为nil,调用将返回nil 如果目标有值,调用就会成功,返回该值 如果目标为nil,调用将返回nil 多次请 阅读全文

posted @ 2018-12-21 14:50 LoaderMan 阅读(367) 评论(0) 推荐(0)

Swift 析构过程

摘要: 在一个类的实例被释放之前,析构函数被立即调用。用关键字deinit来标示析构函数,类似于初始化函数用init来标示。析构函数只适用于类类型。 析构过程原理 Swift 会自动释放不再需要的实例以释放资源。 Swift 通过自动引用计数(ARC)处理实例的内存管理。 通常当你的实例被释放时不需要手动地 阅读全文

posted @ 2018-12-21 14:45 LoaderMan 阅读(177) 评论(0) 推荐(0)

Swift 构造过程

摘要: 构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程。这个过程包含了为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务。 Swift 构造函数使用 init() 方法。 与 Objective-C 中的构造器不同,Swift 的构造器无需返回值,它们的主要任务是保证新实例在第一 阅读全文

posted @ 2018-12-21 14:34 LoaderMan 阅读(177) 评论(0) 推荐(0)

Swift 继承

摘要: 继承我们可以理解为一个类获取了另外一个类的方法和属性。 当一个类继承其它类时,继承类叫子类,被继承类叫超类(或父类) 在 Swift 中,类可以调用和访问超类的方法,属性和下标脚本,并且可以重写它们。 我们也可以为类中继承来的属性添加属性观察器。 基类 没有继承其它类的类,称之为基类(Base Cl 阅读全文

posted @ 2018-12-21 14:24 LoaderMan 阅读(176) 评论(0) 推荐(0)

Swift 下标脚本

摘要: 下标脚本 可以定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中,可以认为是访问对象、集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法。 举例来说,用下标脚本访问一个数组(Array)实例中的元素可以这样写 someArray[index] , 阅读全文

posted @ 2018-12-21 14:17 LoaderMan 阅读(159) 评论(0) 推荐(0)

Swift 方法

摘要: Swift 方法是与某些特定类型相关联的函数 在 Objective-C 中,类是唯一能定义方法的类型。但在 Swift 中,你不仅能选择是否要定义一个类/结构体/枚举,还能灵活的在你创建的类型(类/结构体/枚举)上定义方法。 实例方法 在 Swift 语言中,实例方法是属于某个特定类、结构体或者枚 阅读全文

posted @ 2018-12-21 14:15 LoaderMan 阅读(188) 评论(0) 推荐(0)

Swift 属性

摘要: Swift 属性将值跟特定的类、结构或枚举关联。 属性可分为存储属性和计算属性: 存储属性和计算属性通常用于特定类型的实例。 属性也可以直接用于类型本身,这种属性称为类型属性。 另外,还可以定义属性观察器来监控属性值的变化,以此来触发一个自定义的操作。属性观察器可以添加到自己写的存储属性上,也可以添 阅读全文

posted @ 2018-12-21 14:11 LoaderMan 阅读(179) 评论(0) 推荐(1)

Swift 类

摘要: Swift 类是构建代码所用的一种通用且灵活的构造体。 我们可以为类定义属性(常量、变量)和方法。 与其他编程语言所不同的是,Swift 并不要求你为自定义类去创建独立的接口和实现文件。你所要做的是在一个单一文件中定义一个类,系统会自动生成面向其它代码的外部接口。 类和结构体对比 Swift 中类和 阅读全文

posted @ 2018-12-21 14:04 LoaderMan 阅读(306) 评论(0) 推荐(0)

Swift 结构体

摘要: Swift 结构体是构建代码所用的一种通用且灵活的构造体。 我们可以为结构体定义属性(常量、变量)和添加方法,从而扩展结构体的功能。 与 C 和 Objective C 不同的是: 结构体不需要包含实现文件和接口。 结构体允许我们创建一个单一文件,且系统会自动生成面向其它代码的外部接口。 结构体不需 阅读全文

posted @ 2018-12-21 14:02 LoaderMan 阅读(176) 评论(0) 推荐(0)

Swift 枚举

摘要: 枚举简单的说也是一种数据类型,只不过是这种数据类型只包含自定义的特定数据,它是一组有共同特性的数据的集合。 Swift 的枚举类似于 Objective C 和 C 的结构,枚举的功能为: 它声明在类中,可以通过实例化类来访问它的值。 枚举也可以定义构造函数(initializers)来提供一个初始 阅读全文

posted @ 2018-12-21 13:57 LoaderMan 阅读(169) 评论(0) 推荐(0)

Swift 闭包

摘要: 闭包(Closures)是自包含的功能代码块,可以在代码中使用或者用来作为参数传值。 Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其他一些编程语言中的 匿名函数比较相似。 全局函数和嵌套函数其实就是特殊的闭包。 闭包的形式有: Swift中的闭包有很多优化的 阅读全文

posted @ 2018-12-21 13:48 LoaderMan 阅读(162) 评论(0) 推荐(0)

Swift 函数

摘要: Swift 函数用来完成特定任务的独立的代码块。 Swift使用一个统一的语法来表示简单的C语言风格的函数到复杂的Objective-C语言风格的方法。 函数声明: 告诉编译器函数的名字,返回类型及参数。 函数定义: 提供了函数的实体。 函数声明: 告诉编译器函数的名字,返回类型及参数。 函数定义: 阅读全文

posted @ 2018-12-21 13:41 LoaderMan 阅读(203) 评论(0) 推荐(0)

Swift 字典

摘要: Swift 字典用来存储无序的相同类型数据的集合,Swift 字典会强制检测元素的类型,如果类型不同则会报错。 Swift 字典每个值(value)都关联唯一的键(key),键作为字典中的这个值数据的标识符。 和数组中的数据项不同,字典中的数据项并没有具体顺序。我们在需要通过标识符(键)访问数据的时 阅读全文

posted @ 2018-12-21 11:54 LoaderMan 阅读(317) 评论(0) 推荐(0)

Swift 数组

摘要: Swift 数组使用有序列表存储同一类型的多个值。相同的值可以多次出现在一个数组的不同位置中。 Swift 数组会强制检测元素的类型,如果类型不同则会报错,Swift 数组应该遵循像Array<Element>这样的形式,其中Element是这个数组中唯一允许存在的数据类型。 如果创建一个数组,并赋 阅读全文

posted @ 2018-12-21 11:47 LoaderMan 阅读(198) 评论(0) 推荐(0)

Swift 字符(Character)

摘要: Swift 的字符是一个单一的字符字符串字面量,数据类型为 Character。 输出: 如果你想在 Character(字符) 类型的常量中存储更多的字符,则程序执行会报错,如下所示: 空字符变量 Swift 中不能创建空的 Character(字符) 类型变量或常量: 遍历字符串中的字符 Swi 阅读全文

posted @ 2018-12-21 11:42 LoaderMan 阅读(309) 评论(0) 推荐(0)

Swift 字符串

摘要: Swift 字符串是一系列字符的集合。例如 "Hello, World!" 这样的有序的字符类型的值的集合,它的数据类型为 String。 创建字符串 你可以通过使用字符串字面量或 String 类的实例来创建一个字符串: 以上程序执行输出结果为: 空字符串 你可以使用空的字符串字面量赋值给变量或初 阅读全文

posted @ 2018-12-21 11:40 LoaderMan 阅读(301) 评论(0) 推荐(0)

Swift 循环

摘要: 循环类型 Swift 语言提供了以下几种循环类型。点击链接查看每个类型的详细描述: for-in for 循环 该循环方式在 Swift 3 中已经弃用。 用来重复执行一系列语句直到达成特定条件达成,一般通过在每次循环完成后增加计数器的值来实现。 while 循环 repeat...while 循环 阅读全文

posted @ 2018-12-21 11:35 LoaderMan 阅读(317) 评论(0) 推荐(0)

Swift 条件语句

摘要: 条件语句通过设定的一个或多个条件来执行程序,在条件为真时执行指定的语句,在条件为 false 时执行另外指定的语句。 可以通过下图来简单了解条件语句的执行过程: Swift 提供了以下几种类型的条件语句: if 语句 if...else 语句 if...else if...else 语句 内嵌 if 阅读全文

posted @ 2018-12-21 11:31 LoaderMan 阅读(636) 评论(0) 推荐(0)

Swift 运算符

摘要: 运算符是一个符号,用于告诉编译器执行一个数学或逻辑运算。 Swift 提供了以下几种运算符: 算术运算符 比较运算符 逻辑运算符 位运算符 赋值运算符 区间运算符 其他运算符 算术运算符 以下表格列出了 Swift 语言支持的算术运算符,其中变量 A 为 10,变量 B 为 20: 注意:swift 阅读全文

posted @ 2018-12-21 11:13 LoaderMan 阅读(267) 评论(0) 推荐(0)

Swift 字面量

摘要: 所谓字面量,就是指像特定的数字,字符串或者是布尔值这样,能够直接了当地指出自己的类型并为变量进行赋值的值。比如在下面: 整型字面量 整型字面量可以是一个十进制,二进制,八进制或十六进制常量。 二进制前缀为 0b,八进制前缀为 0o,十六进制前缀为 0x,十进制没有前缀: 以下为一些整型字面量的实例: 阅读全文

posted @ 2018-12-21 11:03 LoaderMan 阅读(233) 评论(0) 推荐(0)

Swift 常量

摘要: 常量一旦设定,在程序运行时就无法改变其值。 常量可以是任何的数据类型如:整型常量,浮点型常量,字符常量或字符串常量。同样也有枚举类型的常量: 常量类似于变量,区别在于常量的值一旦设定就不能改变,而变量的值可以随意更改。 常量声明 常量使用关键字 let 来声明,语法如下: 以下是一个简单的 Swif 阅读全文

posted @ 2018-12-21 10:53 LoaderMan 阅读(150) 评论(0) 推荐(0)

Swift 可选(Optionals)类型

摘要: Swift 的可选(Optional)类型,用于处理值缺失的情况。可选表示"那儿有一个值,并且它等于 x "或者"那儿没有值"。 Swfit语言定义后缀?作为命名类型Optional的简写,换句话说,以下两种声明是相等的: 在这两种情况下,变量 optionalInteger 都是可选整数类型。注意 阅读全文

posted @ 2018-12-21 10:48 LoaderMan 阅读(402) 评论(0) 推荐(0)

Swift 变量

摘要: 变量是一种使用方便的占位符,用于引用计算机内存地址。 Swift 每个变量都指定了特定的类型,该类型决定了变量占用内存的大小,不同的数据类型也决定可存储值的范围。 包括整形Int、浮点数Double和Float、布尔类型Bool以及字符串类型String。此外,Swift还提供了其他更强大数据类型, 阅读全文

posted @ 2018-12-21 10:34 LoaderMan 阅读(178) 评论(0) 推荐(0)

Swift 数据类型

摘要: Swift 提供了非常丰富的数据类型,以下列出了常用了几种数据类型: Int 一般来说,你不需要专门指定整数的长度。Swift 提供了一个特殊的整数类型Int,长度与当前平台的原生字长相同: 在32位平台上,Int和Int32长度相同。 在64位平台上,Int和Int64长度相同。 除非你需要特定长 阅读全文

posted @ 2018-12-21 10:27 LoaderMan 阅读(239) 评论(0) 推荐(0)

Swift 基本语法

摘要: 如果创建的是 OS X playground 需要引入 Cocoa : 如果我们想创建 iOS playground 则需要引入 UIKit : Swift 引入 我们可以使用 import 语句来引入任何的 Objective-C 框架(或 C 库)到 Swift 程序中。例如 import co 阅读全文

posted @ 2018-12-21 09:44 LoaderMan 阅读(151) 评论(0) 推荐(0)

Swift介绍

摘要: wift 是一种支持多编程范式和编译式的开源编程语言,苹果于2014年WWDC(苹果开发者大会)发布,用于开发 iOS,OS X 和 watchOS 应用程序。 Swift 结合了 C 和 Objective-C 的优点并且不受 C 兼容性的限制。 Swift 在 Mac OS 和 iOS 平台可以 阅读全文

posted @ 2018-12-21 09:28 LoaderMan 阅读(287) 评论(0) 推荐(0)

导航