李洪强iOS开发Swift篇—02_变量和常量
李洪强iOS开发Swift篇—02_变量和常量
一、语言的性能
(1)根据WWDC的展示
在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍
在实现 RC4加密算法时Objective-C的的性能是Python的127倍,Swift的性能是Python的220倍
有持怀疑态度的国外程序员,也对Objective-C和Swift的性能进行了测试 http://www.splasmata.com/?p=2798
(2)说明
目前的性能不是开发者最需要担心的问题
苹果已经全盘掌握了这个语言的方方面面:从底层编译框架到编译器再到语言设计
优化之路才刚刚开始,作为开发者,需要给这门新语言一点点耐心和信心
二、Swift与Objective-C代码格式对比
以添加一个按钮为例
(1)Objective-C语言
UIButton *btn = [[UIButton alloc] init];
btn.frame = CGRectMake(20, 20, 100, 100);
btn.backgroundColor = [UIColor blueColor];
[self.view addSubview:btn];
(2)Swift语言
var btn = UIButton()
btn.frame = CGRectMake(20, 20, 100, 100)
btn.backgroundColor = UIColor.blueColor()
self.view.addSubview(btn)
三、语法须知
1.Swift的源文件拓展名是.swift
2.Swift语言的2个不需要
(1)不需要编写main函数
从上往下按顺序执行,所以最前面的代码会被自动当做程序的入口
(2)不需要在每一条语句后面加上分号
let radius = 10 你喜欢的话,也可以加上 let radius = 10;
注意:有一种情况必须加分号:同一行代码上有多条语句时 let radius = 10; let radius2 = 15
(3)关于注释
1)单行注释
// 这是单行注释
2)多行注释
/* 这是多行注释
这是多行注释 */
3)多行注释可以嵌套多行注释
/* 外层注释
/* 内层注释
内层注释 */
外层注释 */
四、变量和常量
1.声明常量和变量
用let来声明常量 let radius = 10
用var来声明变量 var age = 20 或者是var x = 0.0, y = 0.0, z = 0.0
2.基本上可以用任何你喜欢的字符作为常量和变量名
(1)let π = 3.14159
(2)let 网址 = "http://ios.itcast.cn"
(3)let 🐶🐮 = "小狗和母牛"
// 🐶和🐮是emoji表情,是一种特殊的Unicode字符
// 可以在Mac上通过快捷键:control + command + 空格 ,弹出emoji键盘
3.常量和变量名的注意点
不能包含数学符号(比如 + 、-、 *、\ )
不能包含箭头(比如↑、↓、←、→)
不能包含非法无效的Unicode字符(比如⚽ )
不能是关键字(比如let、var)
不能以数字开头(比如 123go)
不能是单独一个下划线 _ (比如var _ = 10)
… …
五、代码演示
1.命令行项目
新建一个命令行项目(注意使用的时XCode6版本)
选择语言为swift语言。
最简单的程序:打印helloWord!
2.ios项目
(1)项目结构说明
新建一个ios项目
新建的项目结构如下图所示:
storyboard是一个正方形的,比以前的都大,这里先调整为3.5英寸的。
对比和OC语言ios项目的区别:
(1)没有前缀
(2).h和.m文件合并为一个后缀名位.swift的文件
控制器中的类的结构如下:
(2)添加一个按钮和imageView的代码示例
实现效果:
(3)新建一个playground演练程序
演练程序的即时编译效果: