Swift
文章平均质量分 53
XuanTong520
一只程序猿~~~
展开
-
可选类型以及类型转换
可选类型一个变量要么有值,要么没值。语法定义:let name: String? = nil。只有可选类型的可以赋值 nil。怎么使用:使用 ! 进行强制解包。var num: Int? = 0;num = nilif num != nil { num! + 1}可选绑定var num: Int? = 0;num = nilif let res原创 2018-04-14 18:23:32 · 1130 阅读 · 0 评论 -
闭包
闭包闭包是可以在你的代码中被传递和引用的功能性独立模块。与OC的 Block 非常相似。表达式语法 { (parameters) -> (return type) in statements } // var add: (Int, Int) -> (Int) = { (a, b) -> (Int) in return a原创 2018-04-19 17:15:39 · 173 阅读 · 0 评论 -
泛型
泛型泛型是 Swift 最强大的特性之一,很多 Swift 标准库是基于泛型代码构建的。简单理解,就是一个泛化的类型,并不特指某一个具体的类型。泛型的使用:作为函数的参数或返回值一旦函数内部确定了 T 的具体类型,那么所有的 T 都是改类型func swapTwoValues(_ a: inout T, _ b: inout T) { // 一旦函数内部确定了 T 的原创 2018-04-19 14:58:23 · 136 阅读 · 0 评论 -
协议
协议定义格式定义协议的方式与类、结构体、枚举类型非常相似protocol SomeProtocol { // protocol definition goes here}多个协议用逗号分开,如果类有父类,将父类名放在协议之前,并用逗号隔开class SomeClass: SomeSuperclass, FirstProtocol, AnotherProtocol {原创 2018-04-18 14:44:28 · 159 阅读 · 0 评论 -
结构体和类
结构体使用 struct 声明。由一系列具有相同类型或不同类型的数据构成的数据集合。是一种数据结构。是值类型,在方法中传递的时候是值传递。无论枚举还是结构体重都可以定义方法struct Point { // 实例属性 var x: Double var y: Double // 实例方法 func distance() {原创 2018-04-17 17:15:14 · 160 阅读 · 0 评论 -
枚举
枚举枚举为一组相关值定义了一个通用类型,从而可以让你在代码中类型安全地操作这些值。 定义用 enum 关键字来定义一个枚举,然后将其所有的定义内容放在一个大括号 {} 中:enum SomeEnumeration { case north case south case east case west}SomeEnmeration.原创 2018-04-16 17:55:25 · 114 阅读 · 0 评论 -
函数
函数定义和调用函数定义了一个函数的时候,你可以选择定义一个或者多个命名的分类的值作为函数的输入(所谓的形式参数),或者定义函数完成后将要传回作为输出的值的类型(所谓它的返回类型)。func add(num1: Int, num2: Int) -> Int { return num1 + num2;}add(num1: 1, num2: 2)函数的形式参数和原创 2018-04-16 17:55:06 · 135 阅读 · 0 评论 -
常量和变量
常量和变量定义let a: Int = 10 // 常量var b: Double = 11.1 // 变量也可以简写成:let a = 10var b = 11.1Swift中有类型自动推到机制类型Int、Int8、Int16、Int32、Int64。常用的是Int、Double、Float、BoolSwift是类型安全语言,不同类型之间的运算,需要转成原创 2018-04-14 18:22:16 · 248 阅读 · 0 评论 -
逻辑分支和循环
逻辑分支和循环语句逻辑分支if 语句let a = 1if a == 1 { print("a等于1")} else { print("a不等于1")}if语句中条件没有小括号,执行语句就算只有一句也不可以省略花括号guard 语句guard是Swift2.0之后新增的语法,它与if语句非常相似,他的目的是提高程序的可读性。guard必须包含els原创 2018-04-14 18:22:38 · 590 阅读 · 0 评论 -
字符串和字符
字符串和字符字符串字面量字符串字面量是被双引号 " 包裹的固定顺序文本字符。使用字符串字面量作为常量或变量的初始值。let someString = "Some string literal value"如果你需要很多行的字符串,使用多行字符串字面量。多行字符串字面量是用三个双引号引起来的一系列字符:let quotation = """The White Rabbit p原创 2018-04-14 18:23:03 · 210 阅读 · 0 评论 -
集合类型
集合类型数组创建数组你可以使用确定类型通过初始化器语法来创建一个空数组:var someInts = [Int]()print("someInts is of type [Int] with \(someInts.count) items.")// prints "someInts is of type [Int] with 0 items."var someInts原创 2018-04-14 18:23:19 · 212 阅读 · 0 评论 -
懒加载、访问权限以及异常处理
懒加载在需要使用的使用进行加载。 =后面可以加的值:具体的值、构造函数、一般函数、闭包// 具体的值class Person { lazy var name: String = "xxxx"}// 调用构造函数class Person { lazy var dog: Dog = Dog()}// 一般函数class Person {原创 2018-04-23 14:45:23 · 209 阅读 · 0 评论