李洪强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所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运 ...
随机推荐
- Python教程:ORM连接Sqlite数据库,软件架构基础
python语言因其语法简单易学习,且高效率应用广,近几年来发展迅猛,一度进入编程语言排行榜前六名.为了使程序员能更快的学习Python语言,所以写的此教程.也可以说是对自己学习的总结.但文章尽量会使 ...
- Jquery获得控件值的方法
一 Jquery获得服务器控件值的方法 由于ASP.NET网页运行后,服务器控件会随机生成客户端id,jquery获取时候不太好操作,google了下,总结有以下3种方法: 服务器控件代码:<a ...
- MFC对话框程序EDIT类控件的自动换行,垂直滚动条自动下移
1.新建一个Edit Control,将其Multiline属性设置为True,Auto HScroll属性设置False,这样就可以实现每一行填满后自动换行了. 2.再将Vetrical Scr ...
- ACM——3n+1
3n+1 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交:937 测试通过:386 描述 对于任意大于1的自然 ...
- C10K问题和Libevent库介绍
http://blog.chinaunix.net/uid-20761674-id-75056.html 一.C10K的问题 C10K的问题在上个世纪90年代就被提出来了.大概的意思是当用户数超过1万 ...
- ios 可变参数(va_list,va_start,va_end)
例如:UIAlertView的init方法中的otherButtonTitles:(NSString *)otherButtonTitles, ...等多个可变参数. ios实现传递不定长的多个参数的 ...
- 三、使用Maven构建简单的java项目
前边,我刚搭建了Maven环境,还有给大家推荐了学习资源,这个小节,我们来就来,,简单的玩玩maven. 1.所需工具: 1.Eclipse 2.apache-maven-3.3.9 3. ...
- Flask,HelloWorld
Flask,HelloWorld # -*- coding:utf-8 -*- ''' Created on 2015年10月19日 ''' from flask import Flask app = ...
- VIM 及正则表达式
VIM及正则表达式 一.查找/Search + 统计 1.统计某个关键字 方法是:%s:keyword:&:gn. 其中,keyword是要搜索的关键字,&表示前面匹配的字符串,n表示 ...
- itoa : Convert integer to string
Quote from: http://www.cplusplus.com/reference/cstdlib/itoa/ function Required header : <s ...