Swift语言高速入门

Swift语言高速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进)

极客学院 编著  

ISBN 978-7-121-24328-8

2014年10月出版

定价:59.00元

428页

16开

编辑推荐

本书内容翔实,实例丰富,同步新版官方API文档和语法

语法|词法|框架覆盖全面,实战案例|配套习题丰富

多位Swift专家联合推荐,不仅是Swift入门书籍,也可做案头工具书

作者携手Swift专家在线答疑,方式例如以下:

1、专属勘误交流论坛(Swift中文帮):http://swift.muzining.com/

2、QQ群(Swift高速入门书友会):259152129

内容提要

《Swift语言高速入门》以苹果官方Swift英文文档为基础,以其大纲为主线,从易到难全面阐述了Swift语言的语言基础、基本运算、字符串操作、集合类型、流程控制、函数与闭包、面向对象、高级运算符操作及语法參考等方方面面。此外,《Swift语言高速入门》内容及API已与苹果官方英文文档同步更新,降低了刚開始学习的人学习旧版语言文档却不能正常编译代码的困惑。

《Swift语言高速入门》涵盖面广,内容全面,不仅适合于Swift语言的刚開始学习的人,有一定iOS编程经验的开发人员能够把它当作案头工具书。

文件夹

第1章 马斯堡游记     1

1.1  买票        1

1.2  导游        13

1.3  飞碟        22

1.4  斗法        23

1.5  题诗        27

第2章 Swift初见         28

2.1  Hello World     28

2.2  简单值   29

2.3  控制流   30

2.4  函数和闭包   33

2.5  对象和类        35

2.6  枚举和结构   39

2.7  协议和扩展   42

2.8  泛型        43

第3章 语法入门          45

3.1 基础        45

3.1.1 常量和变量         45

3.1.2 凝视    48

3.1.3 分号    49

3.1.4 整数    49

3.1.5 浮点数         50

3.1.6 类型安全和类型判断         50

3.1.7 数值字面量         51

3.1.8 数值类型转换    52

3.1.9 类型别名    53

3.1.10 布尔值         54

3.1.11 元组    55

3.1.12 可选    56

3.1.13 断言    60

3.2 基本运算符   61

3.2.1 术语    61

3.2.2 赋值运算符         62

3.2.3 算术运算符         62

3.2.4 求余运算符         63

3.2.5 浮点数求余运算符    64

3.2.6 自增和自减运算符    64

3.2.7 单目负号运算符         65

3.2.8 单目正号运算符         65

3.2.9 复合赋值运算符         65

3.2.10 比較运算符         66

3.2.11 三目条件运算符         66

3.2.12  nil合并运算符 67

3.2.13 区间运算符         68

3.2.14 逻辑运算符         69

3.3  字符串与字符        71

3.3.1 字符串字面量    72

3.3.2 初始化空字符串         73

3.3.3 字符串可变性    73

3.3.4 字符串是值类型         73

3.3.5 使用字符    74

3.3.6 连接字符串和字符    74

3.3.7 字符串插值         75

3.3.8  Unicode        75

3.3.9 计算字符数量    77

3.3.10 比較字符串         78

3.4 集合类型        79

3.4.1 集合的可变性    80

3.4.2 数组    80

3.4.3 字典    84

3.5  流程流   89

3.5.1 for循环       89

3.5.2 while循环   93

3.5.3 条件语句    96

3.5.4 控制转移语句    103

3.6 函数        108

3.6.1 函数的定义与调用    108

3.6.2 函数參数和返回值    110

3.6.3 函数參数名称    113

3.6.4 函数类型    119

3.6.5 嵌套函数    122

3.7  闭包        122

3.7.1 闭包表达式         123

3.7.2 跟随闭包    126

3.7.3 值捕获         128

3.7.4 闭包是引用类型         130

3.8 枚举        130

3.8.1  枚举语法    131

3.8.2 使用switch 语句匹配枚举值   132

3.8.3 关联值         133

3.8.4 原始值         135

3.9 类和结构体   136

3.9.1 类和结构体的对照    137

3.9.2 结构体和枚举是值类型    139

3.9.3 类是引用类型    141

3.9.4 类和结构体的选择    142

3.9.5  字符串、数组及字典的赋值和复制行为         143

第4章 0基础语法          144

4.1  属性        144

4.1.1 存储属性    144

4.1.2 计算属性    147

4.1.3 属性监察器         149

4.1.4 全局变量和本地变量         151

4.1.5 类型属性    151

4.2 方法        155

4.2.1 实例方法    155

4.2.2 类型方法    160

4.3 下标        163

4.3.1 下标语法    163

4.3.2 下标使用方法    164

4.3.3 下标选项    164

4.4 继承        166

4.4.1 定义一个基类    167

4.4.2 子类生成    168

4.4.3 重写    169

4.4.4 防止重写    173

4.5 构造        173

4.5.1 存储属性的初始赋值         173

4.5.2 自己定义构造         174

4.5.3 默认构造器         178

4.5.4 值类型的构造器代理         179

4.5.5 类的继承和构造         180

4.5.6 通过闭包或函数来设置属性的默认值    190

4.6 析构        192

4.6.1 析构原理    192

4.6.2 析构实例    192

4.7 自己主动引用计数        194

4.7.1 ARC的工作原理         195

4.7.2 ARC实践     195

4.7.3 类实例间的强引用环         196

4.7.4 解决类实例间的强引用环         199

4.7.5 闭包产生的强引用环         205

4.7.6 解决闭包产生的强引用环         207

4.8 可选链   210

4.8.1 可选链替代可选强制解析         210

4.8.2 为可选链定义模型类         211

4.8.3 通过可选链获取属性         213

4.8.4 通过可选链调用方法         214

4.8.5 使用可选链获取下标         214

4.8.6 连接多层链         215

4.8.7 可选链中返回可选类型的方法         216

4.9 类型转换        217

4.9.1 定义一个类层次作为样例         217

4.9.2 类型检查    218

4.9.3 向下转换    219

4.9.4 Any和AnyObject的转换   220

4.10 类型嵌套        222

4.10.1 类型嵌套实践    223

4.10.2 引用嵌套类型    224

第5章 高级语法          225

5.1 扩展        225

5.1.1 扩展语法    225

5.1.2 计算属性    226

5.1.3 构造器         227

5.1.4 方法    228

5.1.5 可变实例方法    229

5.1.6 下标    229

5.1.7 嵌套类型    230

5.2 协议        231

5.2.1 协议语法    231

5.2.2 属性要求    232

5.2.3 方法要求    233

5.2.4 可变方法要求    234

5.2.5 协议作为类型    235

5.2.6 集合中的协议类型    240

5.2.7 协议的继承         241

5.2.8 协议合成    242

5.2.9 检查协议的一致性    243

5.2.10 可选协议要求    245

5.3  泛型        247

5.3.1 泛型解决的问题         247

5.3.2 泛型函数    248

5.3.3 类型參数    249

5.3.4 命名类型參数    249

5.3.5 泛型类型    250

5.3.6  扩展泛型类型    252

5.3.7 类型约束    253

5.3.8 关联类型    256

5.3.9  where子句 258

5.4  訪问控制        260

5.4.1  模块和源文件    261

5.4.2  訪问级别    261

5.4.3  訪问控制语法    262

5.4.4  自己定义类型         263

5.4.5  子类    265

5.4.6  常量、变量、属性和下标         266

5.4.7  协议    268

5.4.8  扩展    269

5.5  高级运算符   269

5.5.1  位运算符    270

5.5.2  溢出运算符         274

5.5.3  优先级和结合性         276

5.5.4  运算符函数         277

5.5.5  前置和后置运算符    278

5.5.6  组合赋值运算符         279

5.5.7  比較运算符         280

5.5.8  自己定义运算符    280

5.5.9  自己定义中置运算符的优先级和结合性    281

第6章 词法參考          282

6.1  关于词法參考        282

6.2  词法结构        283

6.2.1  空白与凝视         283

6.2.2  标识符         283

6.2.3  keyword和标点符号    285

6.2.4  字面量         286

6.2.5  运算符         290

6.3  类型        292

6.3.1  类型标注    292

6.3.2  类型标识符         293

6.3.3  元组类型    293

6.3.4  函数类型    294

6.3.5  数组类型    295

6.3.6  字典类型    296

6.3.7  可选类型    296

6.3.8  隐式解析可选类型    297

6.3.9  合成协议    298

6.3.10 元类型         298

6.3.11 类型继承语法    299

6.3.12 类型判断    299

6.4  表达式   300

6.4.1  前缀表达式         300

6.4.2  二元表达式         301

6.4.3  赋值表达式         303

6.4.4  三元条件运算符         303

6.4.5  类型转换运算符         304

6.4.6  主表达式    305

6.4.7  后缀表达式         310

6.5  语句        314

6.5.1  循环语句    315

6.5.2  分支语句    317

6.5.3  带标签的语句    320

6.5.4  控制传递语句    321

6.6  声明        322

6.6.1  全局代码    323

6.6.2  代码块         323

6.6.3  导入声明    324

6.6.4  常量声明    324

6.6.5  变量声明    325

6.6.6  类和静态变量属性    327

6.6.7  类型别名    328

6.6.8  函数声明    328

6.6.9  枚举声明    332

6.6.10 结构体声明         334

6.6.11 类声明         335

6.6.12 协议声明    336

6.6.13 协议构造器声明         338

6.6.14 协议下标声明    338

6.6.15 协议相关类型声明    338

6.6.16 构造器声明         339

6.6.17 析构器声明         340

6.6.18 扩展声明    340

6.6.19 下标声明    341

6.6.20 运算符声明         342

6.6.21 特征声明修饰符         343

6.6.22 訪问控制级别    344

6.7  特征        345

6.7.1  声明特征    345

6.7.2  Interface Builder使用的声明特征    348

6.7.3  类型特征    348

6.8  模式        349

6.8.1  通配符模式         349

6.8.2  标识符模式         350

6.8.3  值绑定模式         350

6.8.4  元组模式    350

6.8.5  枚举用例模式    351

6.8.6  类型转换模式    352

6.8.7  表达式模式         352

6.9  泛型形參和实參   353

6.9.1  泛型形參子句    353

6.9.2  where 子句         354

6.9.3  泛型參数子句    355

6.10 语法总结        356

6.10.1  语句(Statements)        356

6.10.2  泛型形參与实參(Generic Parameter and Arguments)      358

6.10.3  声明(Declarations)      358

6.10.4  模式(Patterns)    364

6.10.5  特征(Attributes) 365

6.10.6  表达式(Expression)     365

6.10.7  词法结构(Lexical Structure)        368

6.10.8  类型(Types) 372

第7章 使用Cocoa框架与ObjC         374

7.1  基本设置        374

7.1.1  建立你的Swift环境  374

7.1.2  理解Swift的导入过程       375

7.2  与ObjC API交互    376

7.2.1  初始化         376

7.2.2  訪问属性    377

7.2.3  用法    377

7.2.4  id兼容性     378

7.2.5  使用nil        379

7.2.6  扩展    380

7.2.7  闭包    381

7.2.8  对象比較    381

7.2.9  Swift类型兼容性        381

7.2.10  Objective-C选择器   382

7.3  以ObjC的行为写Swift 383

7.3.1  继承Objective-C的类         383

7.3.2  适配协议    384

7.3.3  编写构造器和析构器         384

7.3.4  集成Interface Builder         384

7.3.5  指明属性特性    386

7.3.6  实现核心数据管理对象的子类         386

7.4  使用Cocoa数据类型    386

7.4.1  字符串         387

7.4.2  数字    387

7.4.3  集合类         388

7.4.4  Foundation数据类型 390

7.4.5  Foundation函数 390

7.4.6  Core Foundation 390

7.5  採用Cocoa设计模式    392

7.5.1  托付    392

7.5.2  错误报告    392

7.5.3  键值观察    393

7.5.4  Target-Action       394

7.5.5  内省    394

7.6  与C API交互 395

7.6.1  基本类型    395

7.6.2  枚举    396

7.6.3  指针    397

7.6.4  全局常量    401

7.6.5  预处理指令         401

7.7  与ObjC混编  402

7.7.1  混编概述    402

7.7.2  在同一个app target中进行代码导入      403

7.7.3  在同一个framework target中导入代码 404

7.7.4  导入外部框架    405

7.7.5  在Objective-C中使用Swift代码       406

7.7.6  product模式命名       407

7.7.7  故障排除和提醒         407

7.8  迁移ObjC代码至Swift 408

7.8.1  为你的Objective-C代码迁移做好准备    408

7.8.2  迁移过程    408

7.8.3  技巧和提示         409

作者简单介绍

陈少佳,现任极客学院布道师,负责教师团队建设、线上课程建设等工作。

2008年从业至今,曾任外企技术总监、线下培训机构学术总监、副校长,培养过至少1000名月薪过万的Android、iOS开发project师。

李艺(网名:蜗牛君),苏州人士,清华计算机硕士,极客学院Swift专家,木子宁工作室掌门。Adobe中国首批社区帮助管理员与版主,著名iOS独立游戏开发人员,爱好书法、箫、吉他等,喜好郊游,偶尔会做义工。

博客地址:www.muzining.com

微博:weibo.com/angrymarble

媒体评论

Swift在保证性能的同一时候整合了非常多现代的编程特性,对OSX和iOS开发人员来说是重大的改进,也是以后的趋势。本书非常好地解说了Swift入门学习中各种实例、解决方式并配以详尽的语言文档,是开发人员学习Swift的必备书籍!

——冯斌 正点科技技术总监

移动互联网时代,技术更新异常频繁。仅守住所谓的扎实的“基本功”已跟不上时代的潮流,必须时刻紧跟最新技术。极客学院紧抓技术热点,并在第一时间将其奉献给读者,无论是网络课程模式还是书籍形式,都是既追求实效性,又追求深度,真是读者的福音。

——毛晓冬 高通中国资深研发经理

极客学院的创业者们在国内移动端开发技术领域经营多年,积累很深厚,致力于技术的交流和传承,培养出了不少优秀的project师。相信这本书相同不会辜负各位开发人员的期望,值得大家期待!

——王鹏云 多盟技术副总裁

想学好一门编程语言要从选好书開始!极客学院编著的好书值得您即刻购买!

——谢耀辉 活动行联合创始人

Swift会真正改变iOS开发生态,如今大家在同一个起跑线上,马上出发,开启Swift技术之旅吧。

——iceskysl 极客学院&eoe 联合创始人

前言

Swift体会

极客学院首席讲师 陈劭家(ime)

我不算是一个果粉,可是我非常喜欢苹果的产品,甚至能够说是狂热。2014年6月2日晚上我一夜未眠,就是在等苹果的WWDC,这是开发人员的狂欢之夜(或者狂欢之日,由于美国时间是白天)。凌晨1点,最终開始了,可是苹果一次重新的新产品展示让我一次重新的失望,作为开发人员的我表示无感。

我坚持看由于我不相信苹果总是让我失望。终于在WWDC的最后一个环节,我真心沸腾了,由于一门新的编程语言——Swift出现了。要知道在饱受了Objective-C语言之苦后看见Swift是一种什么心情,你不须要再为引用计数而头疼,不须要再为没有命名空间而不得不加入该死的前缀而烦恼,不须要再为Objective-C那难懂的语法而整天晕乎乎的。此外,苹果还为我们提供了Playground这个工具,它可以在我们敲代码时实时计算出变量的值,甚至还能呈现数字变量的趋势图,让编程富有乐趣及创造性。

因为Swift出现得晚,所以它拥有了眼下世界上差点儿全部编程语言的长处,而没有眼下全部编程语言的缺点,Swift真的太美丽了。以下我们開始一步一步认识它。

执行速度

从苹果官方给出的数据来看,Objective-C比Python快2.8倍,而Swift比Python快3.9倍,可见苹果在Swift上下了大量的工夫进行优化。

开发环境

Swift语言的开发环境是苹果公司提供的集成开发环境Xcode,能够用来开发iOS应用、iOS游戏、OS X窗口程序、OS X游戏、OS X命令行程序,读者能够直接从App Store中搜索并下载。用Swift语言能够做到差点儿全部Objective-C所能做到的事情,所以Swift必将代替Objective-C,假设你还没有学过Objective-C语言,那么恭喜你,不用学了,直接学习Swift就可以。

执行环境

Swift被强大的llvm编译成机器码,直接执行在系统中。由于Swift是苹果的产品,所以眼下仅仅支持苹果的系统(OS X和iOS)。我们期待会有社区开发出跨平台的Swift语言,由于这么好的一门编程语言,应该可以让世界上的每个人享受到才好,就像mono让C#语言跨平台一样。

语言特性

具有全部现代编程语言的特性,包含:面向对象、类扩展、命名空间、闭包、泛型、强类型、函数有多个返回值等。

这些特性可以大大提高程序猿的开发效率,从而为企业节约成本,同一时候让编程工作充满乐趣。

语法简单介绍

通过前文的介绍,相信读者已经迫不及待地想尝试使用Swift了,以下我们就来认识一下Swift的语法。

简洁的语法

Swift抛弃了Objective-C那种古板难懂的语法,採用通俗易懂的脚本语言类语法,学过Python、JavaScript或者Lua语言的读者肯定不会陌生,这大大减少了刚開始学习的人的学习成本。

变量及常量

假设要定义一个变量i等于1,仅仅须要写var i = 1,能够看出,不须要指定类型,由于Swift会自己主动做类型判断。

假设要定义一个常量PI等于3.14,仅仅须要写let PI = 3.14,常量仅仅能被赋值一次。

输出语句

在Swift中,能够直接使用println函数来输出一段随意类型的信息,例如以下所看到的:

println("Hello Swift")

字符串连接

Swift语言中的字符串连接相同也很easy,假设两个值都是字符串,则可直接用加号连接,例如以下所看到的:

var hello = "Hello"

var world = "World"

var str = hello + world

假设将要连接的值中有其它类型,则直接使用\()包含就可进行连接,例如以下所看到的:

var hello = "Hello"

var num = 100

var str = "\(hello) \(num)"

从上面的演示样例能够看出,相比Objective-C或者C/C++语言来说,简单太多了。

循环

传统的C语言中的for循环是这么写的:

for (int i = 0; i < 100; i++) {

//TODO

}

在Swift中,将循环大大简化了,例如以下所看到的:

for i in 0..<100{

//TODO

}

详细内容还有非常多,详见本书正文。

条件推断

条件推断与C语言并没有差别,能够直接书写C语言的语法就可以通过,例如以下所看到的:

if (count>5) {

//TODO

}

在Swift中还能够再简洁一些,例如以下:

if count>5 {

//TODO

}

另外,在Swift语言中,switch…case语句能够不用加breakkeyword。

函数

假设要定义一个函数用来输出一段信息,则代码例如以下所看到的:

func sayHello(){

println("HelloSwift")

}

这样的写法很简洁,我曾在Dart语言中见过这样的写法,func是一个keyword,用来指明所定义的是一个函数,sayHello是函数名称,()中是该函数的传入參数。假设还想使用传入參数及返回值,例如以下所看到的:

func max(a:Int,b:Int)->Int{

if a>b {

return a

}else{

return b

}

}

该函数名称为max,可传入两个參数,都是整数类型,參数名称分别为a、b,函数的返回值也是整数类型。

Swift中的函数还能够同一时候返回多个值,例如以下所看到的:

func getNum()->(Int,Int){

return (3,4)

}

假设想对该函数进行调用并获取到这两个返回结果值,则使用方法例如以下:

let (a,b) = getNum()

面向对象

类的定义很easy,例如以下所看到的:

class Hello{

func sayHello(){

println("HelloSwift")

}

}

该演示样例定义了一个名为Hello的类,其有一个成员函数名为sayHello,假设想调用该类及对应函数,则使用方法例如以下:

var h = Hello()

h.sayHello()

类的继承的写法也很easy,这一点继承了C++语言的优秀传统,假设想定义一个名为Hi的类继承自Hello,则写法例如以下:

class Hi:Hello{

}

假设后期还想为某类加入功能,有两种方法。第一种是直接改动类的源代码加入功能,另外一种是为该类写扩展功能,以下我们来着重介绍另外一种。假设想为Hello类再加入一个名为sayHi的方法,则代码例如以下所看到的:

extension Hello{

func sayHi(){

println("HiSwift")

}

}

当中,extensionkeyword表示要扩展已经存在的类的功能,假设想扩展系统或者第三方的某个类的功能而得不到其源代码时,採用这样的方式将会是一个绝佳的选择。例如以下所看到的:

extension String{

func printSelf(){

println(self)

}

}

var str = "Hello Swift"

str.printSelf()

通过这样的方式扩展了系统的String类,为其添加了一个printSelf()方法,在使用时可直接调用目标对象的printSelf()方法,很方便。

关于面向对象的很多其它特性,请看本书正文。

事实上extension还有还有一个用途,那就是模拟命名空间,请看下一个主题。

命名空间

在Swift语言中并没有专门的命名空间的keyword,可是能够模拟命名空间这个面向对象的特性,例如以下所看到的:

//定义命名空间ime

class ime{

}

//在ime命名空间下定义Hello类

extension ime{

class Hello{

func sayHello(){

println("Hello Swift")

}

}

}

使用该类及相关方法的代码例如以下所看到的:

var h = ime.Hello()

h.sayHello()

有没有让你眼前一亮的感觉呢?

结尾

就写到这里吧,想必大家已经对Swift有了一个初步的了解,并且迫不及待地想開始学习了,努力吧,少年,你就是未来的太阳!

时间: 2024-12-25 20:01:50

Swift语言高速入门的相关文章

Swift语言快速入门

Swift语言快速入门(首部同步新版官方API文档和语法的Swift图书,确保代码可编译,作者专家在线答疑,图书勘误实时跟进) 极客学院 编著   ISBN 978-7-121-24328-8 2014年10月出版 定价:59.00元 428页 16开 编辑推荐 本书内容翔实,实例丰富,同步新版官方API文档和语法 语法|词法|框架覆盖全面,实战案例|配套习题丰富 多位Swift专家联合推荐,不仅是Swift入门书籍,也可做案头工具书 作者携手Swift专家在线答疑,方式如下: 1.专属勘误交流

C语言高速入门系列(四)

C语言高速入门系列(四) C语言数组 ---------转载请注明出处:coder-pig 贴心小提示:假设图看不清晰可右键另存为,应该就非常清晰了; 注意上面的代码都要自己过一遍哦! 本节引言: 经过我们前面三个系列的学习,我们对C语言有了一定的了解; 如今要你写这样一个代码应该不难吧: 输入五个学生的成绩,然后求出总和与平均值,打印出结果! 相信大家都会先定义五个变量,用来存储五个学生的成绩,然后再进行计算吧! 可是,假如要求的学生不是5个而是20个,50个或者很多其它,难道你又定义一堆变量

C语言高速入门系列(一)

C语言高速入门系列(一)  本系列引言: 本教程的宗旨是将C语言入门的内容进行关键知识点的提纯,将一些笼统的废话去除; 再进行压缩,然后将本章的关键知识点做成路线图的,能够更加方便地掌握学习的方向; 最后提供相关的代码演示样例以及具体凝视,能够帮助学者更快地上手C语言! 假设对本教程有什么建议和缺点纰漏的,欢迎指出,不胜感激! 本节学习路线图: 正文: 1.计算机与程序设计语言的关系: 答:计算机是由硬件与软件系统组成,硬件==>物质基础;软件==>灵魂; 假设脱离了软件,计算机就仅仅是一台什

C语言高速入门系列(五)

C语言高速入门系列(五) C语言指针初涉                                           ------转载请注明出处:coder-pig 本节引言: 上一节我们对C语言复合数据类型中的数组进行了解析,在本节中,我们会对C语言复合数据类型中的 重点,C语言的灵魂-----指针进行学习!使用指针的优点:利用指针能够表示与使用复杂的数据结构; 更加方便地使用我们的数组与字符串;能够像汇编语言一样直接处理内存单元地址;能够动态地进行内存空间 分配,C语言指针是重点,同

Swift语言Auto Layout入门教程

Swift语言Auto Layout入门教程:上篇 开始用自动布局约束的方式思考吧! 更新记录:该教程由Brad Johnson更新Swift和iOS 8内容,原文第一版作者为教程编纂组的Matthijs Hollemans. 你可曾为了让App在横竖屏模式下都能展现整洁的界面而感到苦恼?你可曾为了让布局同时支持iPhone和iPad而感到心烦?别灰心,好消息来啦! 为某种确切尺寸的屏幕设计用户界面并不麻烦,但如果屏幕画面的框架不固定,为适应新环境,App中各个UI元素的位置和大小都需要相应调整

Swift语言入门之旅 (翻译自《The Swift Programming Language》电子书)

关于Swift Swift是为IOS和OSX应用制定的新编程语言,吸取C和Objective-C语言的精粹,但不损失与C语言的兼容性.Swift采用安全编程模型.加入了各种现代编程语言特性,使得该语言更易被掌握.更具扩展性,用起来更有趣.Swift语言的奠基石是已经成熟的.并为大家所喜爱的Cocoa和Cocoa Touch框架,新语言使大家可以尽情畅想新软件开发的机遇. Swift沉积了多年的研发成果,苹果公司为提供高效Swift语言编译器.调试器和基础架构打下了坚实基础.我们使用Automat

Swift语言Auto Layout入门教程:上篇

原文:Beginning Auto Layout Tutorial in Swift: Part 1/2,译者:@TurtleFromMars 开始用自动布局约束的方式思考吧! 更新记录:该教程由Brad Johnson更新Swift和iOS 8内容,原文第一版作者为教程编纂组的Matthijs Hollemans. 你可曾为了让App在横竖屏模式下都能展现整洁的界面而感到苦恼?你可曾为了让布局同时支持iPhone和iPad而感到心烦?别灰心,好消息来啦! 为某种确切尺寸的屏幕设计用户界面并不麻

Swift语言入门之旅

学习一门新的计算机语言,传统来说都是从编写一个在屏幕上打印"Hello world"的程序开始的.那在 Swift,我们使用一句话来实现它: println("Hello, world") 如果你编写过C或者Objective-C语言,Swift中的这个语法看起来便很熟悉,这句话却是一个完整的程序 .你无须为了得到输入/输出或字符串处理去导入一个独立的功能库.编写全局代码通常用于程序的进入 点.你不需要写一个main函数,你也不需要为每个语句写个逗号作为结尾. 这个

学习swift语言的快速入门教程推荐

随着苹果产品越来越火爆,苹果新推出的swift必定将在很大程度上代替oc语言.学好swift语言,对于IOS工程师来讲,已经是一门必备技能. 有一些比较好的英文版教程,值得学习. 1. Swift Tutorial for Beginners 在这个教程里,你可以学习一些iOS代码编写的新方法. 2. The Swift Programming Language 英文 中文 这是苹果官方出的iOS应用编程语言Swift的说明文档,中文版本很快就已经推出了.应该说还么有那个语音的中文文档翻译速度和