
Swift学习笔记
文章平均质量分 80
lybenson
这个作者很懒,什么都没留下…
展开
-
Swift学习笔记(八)属性
属性存储属性:存储常量或变量作为实例的一部分,计算属性计算(而不是存储)一个值。计算属性:可以用于类、结构体和枚举里,存储属性只能用于类和结构体.存储属性简单来说,一个存储属性就是存储在特定类或结构体的实例里的一个常量或变量,存储属性可以是变量存储属性(用关键字var定义),也可以是常量存储属性(用关键字let定义)。可以在定义存储属性的时候指定默认值。struct F原创 2015-08-20 15:04:07 · 364 阅读 · 0 评论 -
Swift学习笔记(十)附属脚本
附属脚本可以定义在类(Class)、结构体(structure)和枚举(enumeration)这些目标中,可以认为是访问对象、集合或序列的快捷方式,不需要再调用实例的特定的赋值和访问方法附属脚本语法通过实例后面的方括号传参调用,不需要调用类的实例方法附属脚本允许你通过在实例后面的方括号中传入一个或者多个的索引值来对实例进行访问和赋值。语法类似于实例方法和计算型属性的混合。与定义实原创 2015-08-20 16:27:48 · 556 阅读 · 0 评论 -
Swift学习笔记(九)方法
方法类、结构体和枚举都能定义成实例方法和类方法Swift与C和Objective-C的主要区别就是结构体和枚举可以定义方法。在Objective-C中,只有类才能定义方法。而在Swift中,你可以有选择性的在类、结构体或枚举中定义方法,并且使得在你创建的类中定义方法时更具有灵活性。实例方法实例方法是属于一个特定的类、结构体或枚举的实例的函数,一个实例方法具有隐式访问所有其他的实例方原创 2015-08-20 15:34:56 · 377 阅读 · 0 评论 -
Swift学习笔记(五)闭包
闭包闭包表达式 一般形式{ (parameters) -> returnType in statements}Swift 标准库提供了 sort 函数,会根据您提供的排序闭包将已知类型数组中的值进行排序。下面的闭包表达式示例使用 sort 函数对一个 String 类型的数组进行字母逆序排序,以下是初始数组值:let names = ["Chris", "Alex", "Ewa", "B原创 2015-08-20 12:51:04 · 479 阅读 · 0 评论 -
Swift学习笔记(四)函数
定义和调用函数 参数名personName,参数类型String 返回值类型是Stringfunc sayHello(personName: String) -> String{ let greeting = "hello, " + personName + "!" return greeting;}println(sayHello("John"))func halfOpenRa原创 2015-08-20 10:22:17 · 368 阅读 · 0 评论 -
Swift学习笔记(十八)泛型
泛型泛型代码可以让你写出根据自我需求定义、适用于任何类型的,灵活且可重用的函数和类型泛型所解决的问题定义一个swapTwoInts方法,用于交换两个int类型的值一:swapTwoIntsfunc swapTwoInts(inout a: Int, inout b: Int) { let temporaryA = a a = b b = temporar原创 2015-08-21 11:26:49 · 513 阅读 · 0 评论 -
Swift学习笔记(十七)协议
协议Protocol(协议)用于统一方法和属性的名称,而不实现任何功能。协议能够被类,枚举,结构体实现,满足协议要求的类,枚举,结构体被称为协议的遵循者。遵循者需要提供协议指定的成员,如属性,方法,操作符,下标等。协议的语法protocol SomeProtocol { // 协议内容}在类,结构体,枚举的名称后加上协议名称,中间以冒号:分隔即可实现协议;实现多个协议原创 2015-08-21 10:32:17 · 637 阅读 · 0 评论 -
Swift学习笔记(十五)类型转换和类型嵌套
类型检查在 Swift 中使用is和 as操作符实现。这两个操作符提供了一种简单达意的方式去检查值的类型或者转换它的类型。定义一个类层次作为例子class MediaItem { var name: String init(name: String) { self.name = name }}class Movie: MediaItem {原创 2015-08-20 17:59:43 · 455 阅读 · 0 评论 -
Swift学习笔记(十六)拓展
拓展扩展就是向一个已有的类、结构体或枚举类型添加新功能(functionality)。这包括在没有权限获取原始源代码的情况下扩展类型的能力(即逆向建模)。扩展和 Objective-C中的分类(categories)类似。(不过与Objective-C不同的是,Swift的扩展没有名字。extension SomeType { // 加到SomeType的新功能写到这里}按以原创 2015-08-21 09:41:38 · 397 阅读 · 0 评论 -
Swift学习笔记(十三)析构过程
析构过程在一个类的实例被释放之前,析构函数被立即调用。用关键字deinit来标示析构函数,类似于初始化函数用init来标示。析构函数只适用于类类型。析构过程原理Swift 会自动释放不再需要的实例以释放资源Swift通过自动引用计数(ARC)处理实例的内存管理示例deinit { // 执行析构过程}析构函数是在实例释放发生前一步被自动调用。不允许主动调用自己原创 2015-08-20 17:22:04 · 432 阅读 · 0 评论 -
Swift学习笔记(十二)构造过程
构造过程构造过程是为了使用某个类、结构体或枚举类型的实例而进行的准备过程。这个过程包含了为实例中的每个属性设置初始值和为其执行必要的准备和初始化任务。构造过程是通过定义构造器(Initializers)来实现的,这些构造器可以看做是用来创建特定类型实例的特殊方法。与 Objective-C 中的构造器不同,Swift的构造器无需返回值,它们的主要任务是保证新实例在第一次使用前完成正确的原创 2015-08-20 17:08:09 · 423 阅读 · 0 评论 -
Swift学习笔记(七)类和结构体
类和结构体的比较1---->相同点定义属性用于储存值定义方法用于提供功能定义下标用于通过下标语法访问值定义构造器用于生成初始化值通过扩展以增加默认实现的功能符合协议以对某类提供标准功能2---->与结构体相比,类还有如下的附加功能继承允许一个类继承另一个类的特征类型转换允许在运行时检查和解释一个类实例的类型解构器允许一个类实例释放任何其所被分配的资源原创 2015-08-20 14:47:33 · 537 阅读 · 0 评论 -
Swift学习笔记(十四)可选链
可选链可选链(Optional Chaining)是一种可以请求和调用属性、方法及子脚本的过程,它的自判断性体现于请求或调用的目标当前可能为空(nil)。如果自判断的目标有值,那么调用就会成功;相反,如果选择的目标为空(nil),则这种调用将返回空(nil)。多次请求或调用可以被链接在一起形成一个链,如果任何一个节点为空(nil)将导致整个链失效。注意: Swift的自判断链和 Obj原创 2015-08-20 17:52:04 · 533 阅读 · 0 评论 -
Swift学习笔记(十一)继承
继承在 Swift 中,类可以调用和访问超类的方法,属性和附属脚本(subscripts),并且可以重写(override)这些方法,属性和附属脚本来优化或修改它们的行为可以为类中继承来的属性添加属性观察器(property observer),这样一来,当属性值改变时,类就会被通知到。可以为任何属性添加属性观察器,无论它原本被定义为存储型属性(stored property)还是计算型属原创 2015-08-20 16:46:20 · 450 阅读 · 0 评论 -
Swift学习笔记(六)枚举类型
枚举类型枚举语法enum CompassPoint { case North case South case East case West}注意:与C或者Objective-C不同的是,在Swift语言中枚举类型的成员初始的时候不会被默认赋值成整数值,在CompassPoint这个例子中,North, South, East, West默认原创 2015-08-20 14:23:00 · 378 阅读 · 0 评论 -
Swift学习笔记(三)控制流
1.for-in 循环语句for index in 1...5 { println("\(index) times 5 is \(index * 5)")}2.如果你不需要序列中的每一个值,你可以使用下划线来代替let base = 3let power = 10var answer = 1for _ in 1...power { answer *= base}3.使用for原创 2015-08-19 18:05:28 · 534 阅读 · 0 评论 -
Swift学习笔记(一)基础操作
Swift学习笔记之基础操作原创 2015-07-21 18:02:08 · 498 阅读 · 0 评论 -
Swift2.0中使用闭包表达式进行类之间进行通信
闭包:类似于OC中的block或者C++中Lambda,可以方便的在类之间进行通信标准的语法格式:{ (parameterType) -> (returnType) in statements}定义一个闭包变量:var closureName: (parameterType) -> (returnType)定义一个可选闭包变量var closureNam原创 2015-08-25 11:49:04 · 434 阅读 · 0 评论 -
Swift学习笔记(二)字符串和集合类型操作
字符串操作创建字符串常量let someString = "Some string literal value"初始化空字符串var emptyString = "" // empty string literalvar anotherEmptyString = String() // initializer syntax//判断字符串是否为空if emptyStri原创 2015-07-22 09:26:37 · 409 阅读 · 0 评论