方法是与某些特定类型相关联的函数.类.结构体.枚举都能够定义实例方法:实例方法为给定类型的实例封装了详细的任务与功能.类.结构体.枚举也能够定义类型方法:类型方法与类型本身相关联.类型方法与 Objective-C 中的类方法(class methods)相似. 结构体和枚举可以定义方法是 Swift 与 C/Objective-C 的主要差别之中的一个.在 Objective-C 中,类是唯一能定义方法的类型.但在 Swift 中,你不仅能选择是否要定义一个类/结构体/枚举,还能灵活的在你创建…
数值型字面量 整数字面量能够被写作: 一个十进制数,没有前缀 一个二进制数,前缀是0b 一个八进制数,前缀是0o 一个十六进制数,前缀是0x 以下的全部整数字面量的十进制值都是17: let decimalInteger = 17 let binaryInteger = 0b10001 // 二进制的17 let octalInteger = 0o21 // 八进制的17 let hexadecimalInteger = 0x11 // 十六进制的17 浮点字面量能够是十进制(没有前缀)或者是十…
属性将值跟特定的类.结构或枚举关联.存储属性存储常量或变量作为实例的一部分,计算属性计算(而不是存储)一个值.计算属性能够用于类.结构体和枚举里,存储属性仅仅能用于类和结构体. 存储属性和计算属性通经常使用于特定类型的实例,可是,属性也能够直接用于类型本身,这样的属性称为类型属性. 另外,还能够定义属性监视器来监控属性值的变化,以此来触发一个自己定义的操作.属性监视器能够加入到自己写的存储属性上,也能够加入到从父类继承的属性上. 存储属性 简单来说,一个存储属性就是存储在特定类或结构体的实例里的…
常量和变量把一个名字(比方maximumNumberOfLoginAttempts或者welcomeMessage)和一个指定类型的值(比方数字10或者字符串"Hello")关联起来. 常量的值一旦设定就不能改变.而变量的值能够随意更改. 声明常量和变量 常量和变量必须在使用前声明,用let来声明常量,用var来声明变量.以下的样例展示了怎样用常量和变量来记录用户尝试登录的次数: let maximumNumberOfLoginAttempts = 10 var currentLogi…
可选值 使用可选(optionals)来处理值可能缺失的情况.可选表示: 有值,等于 x   或者没有值 注意: C 和 Objective-C 中并没有可选这个概念.最接近的是 Objective-C 中的一个特性,一个方法要不返回一个对象要不返回nil,nil表示"缺少一个合法的对象". 然而,这仅仅对对象起作用--对于结构体.主要的 C 类型或者枚举类型不起作用. 对于这些类型,Objective-C 方法通常会返回一个特殊值(比方NSNotFound)来暗示值缺失.这样的方法假…
原创文章,欢迎转载.转载请注明:关东升的博客 重写实例方法 在子类中重写从父类继承来的实例方法和静态方法.先介绍实例方法的重写. 下面看一个示例: class Person { var name: String var age: Int func description() -> String { //实例方法 return "\(name) 年龄是: \(age)" } class func printClass() ->() { //静态方法 print( "…
有的时候,认为看英文文档有些费时,看中文文档怕翻译不准,有些地方确实不须要抠字眼.当有些地方假设翻译不精准会产生歧义,所以用这样对比的方式.顺便学习一下Swift. Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe p…
闭包是自包括的函数代码块,能够在代码中被传递和使用. Swift 中的闭包与 C 和 Objective-C 中的代码块(blocks)以及其它一些编程语言中的 lambdas 函数比較类似.   闭包能够捕获和存储其所在上下文中随意常量和变量的引用.这就是所谓的闭合并包裹着这些常量和变量.俗称闭包.Swift 会为您管理在捕获过程中涉及到的全部内存操作.   注意:   假设您不熟悉捕获(capturing)这个概念也不用操心.您能够在值捕获 章节对其进行详细了解. 在函数章节中介绍的全局和嵌…
控制传递语句(Control Transfer Statements) 控制转移语句改变你代码的运行顺序,通过它你能够实现代码的跳转.Swift有四种控制转移语句. continue break fallthrough return 我们将会在以下讨论continue.break和fallthrough语句.return语句将会在函数章节讨论. Continue continue语句告诉一个循环体立马停止本次循环迭代,又一次開始下次循环迭代.就好像在说"本次循环迭代我已经运行完了",可…
操作员正在检查,更改.归并值特殊符号或短语.例如,加+这两个数字相加(例如let i = 1 + 2). 算如更复杂的逻辑和操作的实施&&(例如if enteredDoorCode && passedRetinaScan),又或让 i 值加1的便捷运算符自增运算符++i等. Swift 支持大部分标准 C 语言的运算符,且改进很多特性来降低常规编码错误.如,赋值符(=)不返回值.以防止把想要推断相等运算符(==)的地方写成赋值符导致的错误. 数值运算符(+,-,*./,%等…