李洪强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
李洪强iOS开发Swift篇—02_变量和常量的更多相关文章
- 李洪强iOS开发Swift篇---11_变量&常量&元组
李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...
- 李洪强iOS开发Swift篇---12_NSThread线程相关简单说明
李洪强iOS开发Swift篇---12_NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThre ...
- 李洪强iOS开发Swift篇—10_方法
李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...
- 李洪强iOS开发Swift篇—09_属性
李洪强iOS开发Swift篇—09_属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要 ...
- 李洪强iOS开发Swift篇—08_函数(2)
李洪强iOS开发Swift篇—08_函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1 ...
- 李洪强iOS开发Swift篇—07_函数
李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...
- 李洪强iOS开发Swift篇—06_流程控制
李洪强iOS开发Swift篇—06_流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注 ...
- 李洪强iOS开发Swift篇—05_元组类型
李洪强iOS开发Swift篇—05_元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let po ...
- 李洪强iOS开发Swift篇—04_运算符
李洪强iOS开发Swift篇—04_运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运 ...
随机推荐
- linux服务器下tomcat部署项目内存溢出
今天将一个项目部署到linux服务器上,结果tomcat在启动运行到一定时间后就报错.根据以往的经验,查了一些资料,终于解决了该问题并顺便解决了生产环境中的get方式中文传递乱码问题. tomcat启 ...
- C# Quartz.Net 定时任务的简单使用
最近做了一个定时执行任务的软件. 执行任务时,会使用log4net记录日志,如果执行任务有异常,则发送邮件给指定的对象. 我做的是每天的9点和16点执行一次任务,以此记录: 首先,获得Quartz.N ...
- Yii::app()方法详解
Yii::app()方法详解 1.Yii::app()返回的是一个当前框架应用程序的对象 2.Yii::app()是framework/web/CWebApplication.php类实例化的对象,所 ...
- elfiner-servlet 2.x已开源!
通过近一周的努力,elfiner-servlet 2.x基本搞定! 已提交github,开源之!请各位享用~~ 对elfinder不熟悉的请访问:http://elfinder.org 一个很不错的文 ...
- ACM——进制转换
http://acm.njupt.edu.cn/acmhome/problemdetail.do?&method=showdetail&id=1012 进制转换 时间限制(普通/Jav ...
- php安全模式
http://www.cnblogs.com/samson/archive/2011/08/08/2130550.html php安全模式:safe_mode=on|off启用safe_mode指令将 ...
- C++函数指针和指针函数
本文参考http://www.prglab.com/cms/pages/c-tutorial/advanced-data/pointers.php http://blog.csdn.net/ameyu ...
- (poj)1679 The Unique MST 求最小生成树是否唯一 (求次小生成树与最小生成树是否一样)
Description Given a connected undirected graph, tell if its minimum spanning tree is unique. Definit ...
- ASP.NET缓存 Cache
缓存介绍 如果每次进入页面的时候都查询数据库生成页面内容的话,如果访问量非常大,则网站性能会非常差,而如果只有第一次访问的时候才查询数据库生成页面内容,以后都直接输出内容,则能提高系统性能,这样无论多 ...
- ORACLE数据库闪回日志写满
网站页面无法显示完整.检查web服务是正常的,所以可能是ORACLE数据库出了问题. 首先检查闪回日志写满 然后检查归档日志文件写满的缘故了.使用以下几个命令可以看出当前归档日志文件的使用情况: se ...