Swift基础语法
文章平均质量分 83
根据官方文档以及社区的翻译文档整理出来的关于Swift的基础知识
人人-为我
是个好人但不是个好男人
展开
-
Swift 高级运算符(二十)
高级运算符1.位运算符1.1按位取反前置运算符 ~ 对一个操作数的每一位都取反,后紧跟操作数,不加空格let initialBits: UInt8 = 0b00001111let invertedBits = ~initialBits // equals 111100001.2按位与对两个数进行操作,返回一个新的数,两个数的同一位都为1时,输出数才为1原创 2014-06-20 17:42:14 · 5774 阅读 · 0 评论 -
Swift 泛型(十九)
泛型泛型代码可根据自定义需求,写出适用于任何类型、灵活且可重用的函数和类型,避免重复的代码,用一种清晰和抽象的思维表达代码的意思1.泛型用途// 普通的函数,用来交换两个值func swapTwoInts(inout a: Int, inout b: Int) { let temporaryA = a a = b b = tempora原创 2014-06-20 17:35:13 · 3792 阅读 · 0 评论 -
Swift 协议(十八)
协议 (Protocols)用于统一方法和属性的名称,而不实现任何功能,能够被类、枚举、结构体实现,满足协议要求的都成为协议的遵循者,遵循者需要提供协议指定的成员,如方法,属性,操作符,下标。1.语法protocol SomeProtocol { // protocol definition goes here}// 中间以冒号分隔实现协议,有多个协议原创 2014-06-20 17:28:54 · 5805 阅读 · 0 评论 -
Swift 扩展(十七)
扩展 (Extensions)向一个已有的类、结构体或枚举类型添加新功能,包括再没有获取源代码的情况下扩展类型的能力(逆向建模)1.语法使用关键字 extensionextension SomeType { // new functionality to add to SomeType goes here}一个扩展可以扩展一个已有的类型,使其能够适配一原创 2014-06-20 17:23:03 · 2741 阅读 · 0 评论 -
Swift 类型检查+类型嵌套(十六)
类型检查类型检查是一种检查类实例的方式,或让实例称为他的父类或子类的一种方式,使用is和as操作符实现1.例子以下定义一个类和一个包含这几个类实例的数组,作为类型检查的例子class MediaItem { var name: String init(name: String) { self.name = name }}原创 2014-06-20 17:14:16 · 2179 阅读 · 0 评论 -
Swift 可选链(十五)
可选链 (Optional Chainning)可选链是一种可以请求和调用属性、方法和子脚本的过程,用于请求或调用的目标可能为nil,如果目标有值,调用就会成功,如果目标为nil,调用将返回nil,多次请求或调用可以被链接成一个链,如果任意一个节点为nil将导致整条链失效1.可选链替代强制解析在向调用的属性、方法或子脚本的可选值后面加一个问号,可以定义一个可选链,就原创 2014-06-20 17:09:25 · 2919 阅读 · 0 评论 -
Swift 自动引用计数(十四)
自动引用计数1.工作机制当创建一个类的实例,ARC就会分配一块内存来存储实例的信息,内存中包含实例的类型信息以及这个实例所有相关属性的值。当实例不再使用,ARC释放实例所占用的内存,并让释放的内存另作他用,确保不再使用的内存不会一直占用内存当ARC回收了正在使用的实例,该实例的方法和属性将不能再被访问和操作,如果此时尝试使用,应用将会崩溃。为了确保使用中的实例不会被错误的销毁,原创 2014-06-20 16:59:28 · 1257 阅读 · 2 评论 -
Swift 构造过程+析构过程(十三)
构造过程 (Initialization)1.存储类型的初始赋值类和结构在创建实例的时候,必须为所有的存储属性设置值,不能为nil1.1构造器构造器在创建某个特定类型的新实例的时候调用,最简形式类似不带参数的方法,以init命名struct Fahrenheit { var temperature: Double init() {原创 2014-06-20 16:49:23 · 4089 阅读 · 0 评论 -
Swift 继承(十二)
继承 (Inheritance)一个类可以继承另一个类的方法,属性和其他特特性,继承类叫子类,被继承叫父类,Swift中,类可以调用和访问父类的方法,属性和附属脚本,并且可以重写来修改他们的行为1.定义基类 (Base class)不继承与其他类的类,称为基类class Vehicle { var numberOfWheels: Int var ma原创 2014-06-20 16:37:14 · 3828 阅读 · 1 评论 -
Swift 子脚本(十一)
子脚本 (Subscripts)定义在类、结构体和枚举中,表示访问对象、集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法1.语法子脚本允许通过在实例后面的方括号传入一个或多个索引值来对实例进行访问和操作,使用 subscript 关键字,显示声明传入的参数和返回的类型//newValue的类型必须和脚本定义的返回类型相同subscript(index:原创 2014-06-20 16:32:27 · 1441 阅读 · 0 评论 -
Swift 方法(十)
方法1.实例方法 (Instance Methods)实例方法是属于某个特定类、结构体或者枚举类型实例的方法,提供访问和修改实例属性的方法或提供与实例目的相关的功能,语法与函数一致实例方法写在类里面,能够访问所属类型的其他方法和属性,只能被它所属类的特定实例调用//Count类定义了3个实例方法,通过点操作符调用class Counter { var coun原创 2014-06-20 16:29:21 · 5902 阅读 · 0 评论 -
Swift 属性(九)
属性 (Properties)1.存储属性存储在类或结构体的实例中的一个变量或常量,可以在定义的时候赋值,也可以在构造过程时候赋值// length定义为常量,在创建实例的时候赋值,之后就无法再修改了struct FixedLengthRange { var firstValue: Int let length: Int}var rangeOfT原创 2014-06-20 16:23:54 · 4546 阅读 · 0 评论 -
Swift 类和结构体(八)
类和结构体Swfit并不要求你为自定义类和结构去创建独立的接口和实现文件,只需要在一个文件定义一个类或结构体,Swift自动生成外部接口通常类的实例被称为对象,Swift中称为实例而不是对象1.定义通过class和struct来声明结构体,大括号里定义它们的内容class SomeClass { // class definition goes here}原创 2014-06-20 16:17:11 · 1639 阅读 · 0 评论 -
Swift 枚举(七)
枚举1.枚举语法用enum并把定义放在大括号内,枚举中被定义的值是枚举的成员,case关键字表示新定义的一个成员enum SomeEnumeration { // enumeration definition goes here}enum CompassPoint { case North case South case East原创 2014-06-20 16:09:04 · 4401 阅读 · 0 评论 -
Swift 闭包(六)
闭包 Closures1.闭包表达式闭包表达式是一种利用简单语法构建内联包的方式,提供一些语法优化,使得闭包代码变得更加简单明了1.1sort函数Swift标准库提供了sort函数,将已知类型数组中的值进行排序,返回一个与原数组大小相等但元素已正确排序的数组sort函数需要传入两个参数: 1.已知类型的数组 2.传入两个跟数组相同类型参数的闭包函数,并返原创 2014-06-20 16:01:04 · 4484 阅读 · 0 评论 -
Swift 函数(五)
函数 Functions定义与调用用func作为前缀来标志这是一个函数,用 (->) 加返回类型的名字表示该函数返回什么类型func sayHelloAgain(personName: String) -> String { return "Hello again, " + personName + "!"}println(sayHelloAgain("Ann原创 2014-06-13 17:42:36 · 3624 阅读 · 0 评论 -
Swift 控制流(四)
Control Flow 控制流For循环for-in遍历一个集合里面的所有元素,index使用前不需要声明,只需包含在循环的声明中即可for index in 1...5 { println("\(index) times 5 is \(index * 5)")}// 1 times 5 is 5// 2 times 5 is 10// 3 ti原创 2014-06-13 17:34:25 · 1368 阅读 · 0 评论 -
Swift 字符串+集合(三)
Strings and Characters 字符串和字符String Literals 字符串字面量用于为常量或变量提供初始值,可包含以下特殊字符转义字符\0(空)、\\(反斜线)、\t(水平制表)、\n(换行)、\r(回车)、\"(双引号)、\'(单引号)单字节Unicode , 写成\xnn,nn为两位十六进制数双字节Unicode , 写成\unnnn,nnnn原创 2014-06-12 17:03:53 · 2790 阅读 · 0 评论 -
Swift 基本运算符(二)
基本运算符Terminology 术语运算符有一目,双目和三目运算符一目运算符对一个对象进行操作,如-a,区分前置符和后置符, 如!b , i++双目运算符用于两个对象之间的操作,如 2+3三目运算符操作与三个对象之间,Swift只有一个三目运算符 a?b:cAssignment Operator 赋值运算符let b = 10var a = 5原创 2014-06-12 14:38:01 · 4340 阅读 · 0 评论 -
Swift 基础部分(一)
原文:https://developer.apple.com/library/prerelease/ios/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html#//apple_ref/doc/uid/TP40014097-CH5-XID_399基础部分原创 2014-06-11 19:09:58 · 6156 阅读 · 1 评论 -
A Swift Tour, 苹果新推出的开发语言
苹果在美国旧金山召开了全球开发者大会(WWDC),苹果近日召开了全球开发者大会(WWDC)翻译 2014-06-05 17:35:40 · 1969 阅读 · 0 评论