swift 笔记2】的更多相关文章

开始整理Swift笔记了.打算直接用Playground去写,里面自带的Markup语法和Markdown差不多,显示的效果也不差于博客.而且用Xcode看代码也方便.所以这部分内容不再在博客里记录了,直接上传Github. 地址:https://github.com/wossoneri/swift_basics 需要看的直接Fork,我不定时提交,你也可以提交更新. 新博客: wossoneri.com…
这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Swift中调用这种C语言风格的API比较麻烦,但是在OS X和iOS开发过程中,有时候使用Core Foundation框架的API是非常方便的,例如在与C语言混合编码的时候. Core Foundation框架与Foundation框架紧密相关,他们具有与相同的接口,但是不同.Core Founda…
这是跟在上一篇博文后续内容: --重写方法 重写实例方法 在子类中重写从父类继承来的实例方法和静态方法.先介绍实例方法的重写. 下面看一个示例: class Person {        var name: String     var age: Int        func description() -> String { //实例方法         return "\(name) 年龄是: \(age)"     }        class func printCl…
这是跟在上一篇博文后续内容: --Swift中相关的属性 存储属性 Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性返回数据.存储属性可以存储数据,分为常量属性(用关键字let定义)和变量属性(用关键var定义). 存储属性概念: 我们在前面曾用到过属性,Employee类和Department结构体.它们的类图如下,Employee 的部门属性dept与Department之间进行了关联. 我们可以在定义存储属…
这是跟在上一篇博文后续内容: --函数中参数的传递引用 类是引用类型,其他的数据类型如整型.浮点型.布尔型.字符.字符串.元组.集合.枚举和结构体全部是值类型. 有的时候就是要将一个值类型参数以引用方式传递,这也是可以实现的,Swift提供的inout关键字就可以实现.看下面的一个示例: func increment(inout value:Double, amount:Double = 1.0) { value += amount } var value : Double = 10.0 inc…
Swift 是一种适用于 iOS 和 OS X 应用的全新编程语言,它建立在最好的 C 和 Objective-C 语言之上,并且没有 C 语言的兼容性限制.Swift 采用安全的编程模式,增加了现代功能使 编程更容易.更灵活.更有趣.Swift 以成熟且备受宠爱的 Cocoa 和 Cocoa Touch 框架为 支撑,这是一个重新构想软件开发的机会. --我的第一行Swift代码 import Foundation             //表示引入Foundation框架 var str…
扩展 扩展能够让我们给一个已有的类.结构体.枚举等类型加入�新功能,包含属性和方法,甚至是构造器,下标,支持协议等等... 甚至是我们拿不到源码的类.结构体.枚举,我们依旧能够给它加扩展... 看到这里的时候,我还有点小激动呢...但是淡定下来之后,认为这TMD就是个大大的飞线,飞线,飞线...这让我们的代码难以理解全面(总要操心是不是哪里还有扩展,我没读到的..谁会不会在哪写个飞线出来以达到他不可告人的秘密,所以我们不得不在"代码规范"里写:扩展必须紧挨着类的实现写.但是拿不代码的类…
下标 swift同意我们为 类.结构体,枚举 定义下标,以更便捷的方式訪问一大堆属性.比方Array和Dictionary都是结构体,swift的project师已经为这两个类型提供好了下标操作的代码.所以.我们才干够通过 myArray[2]这样的方式,读取和改写这个struct中保存的数据. 并且.一个类型中能够定义多种下标訪问方式(重载,关于重载,在后面的笔记中会提到.这里先不用太在意) 下标能够定义为"读写"型的,也能够定义为"仅仅读"型,这样的行为.是通过…
协议(Protocols) 协议仅是用定义某些任务或者是功能必须的方法和属性. 类似于java里的interface的作用.但协议并不会实现详细的功能. 我猜这个名字源于OO中提到的"契约".但我并不认为这名字非常好,反而是interface这名字更容被接受.由于我认为协议这个名字非常easy和网络编程的时候的网络协议搞混,网络协议也通常简称为协议. 语法: protocol MyProtocol {      //协议定义 } struct MyStruct: MyProtocol1…
关闭 封闭件是从包括以下各项的组.它可以在代码被发送"片"... 行,不纠结的定义.继续. swift的闭包,有点像C和Objective-C语言里的 代码块 {--}  闭包能够捕捉而且保存在它所被定义的那个东西的上下文中定义的常量和变量. 其实,在上一个笔记--函数,中的全局函数和嵌套函数.全都是闭包的特殊形式. 全局函数--是一个带有函数名的,并不捕捉不论什么值的函数. 嵌套函数--是一个带有函数名的而且从它被定义的外层函数中捕捉数值的函数. 闭包表达式--是一个不带函数名的,使…