李洪强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演练程序

  

  演练程序的即时编译效果:

    

时间: 2024-10-01 08:01:15

李洪强iOS开发Swift篇—02_变量和常量的相关文章

李洪强iOS开发Swift篇—09_属性

李洪强iOS开发Swift篇—09_属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要1个.swift文件 Swift中类的定义格式 1 class 类名 { 2 // ... 属性和方法 3 } 二.属性 1.什么是属性 Swift中的属性(Properties),就类似于其他面向对象语言中的成员变量 2.属性的分类 按照官方文档的说明,属性可以分为以下几种 (1)存储属性(Sto

李洪强iOS开发Swift篇—07_函数

李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 形参名1: 形参类型1, 形参名2: 形参类型2, … (3)举例:计算2个整数的和 1 func sum(num1: Int, num2: Int) -> Int { 2 return num1 + num2 3 } (4)没有返回值的函数 如果函数没有返回值,有3种写法 1 func 函数名(形参列

李洪强iOS开发Swift篇—04_运算符

李洪强iOS开发Swift篇—04_运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运算符:++.-- 比较运算符:==.!=.>.<.>=.<= 逻辑运算符:&&.||.! 三目运算符:? : 范围运算符:..< .... 溢出运算符:&+.&-.&*.&/.&% 2.赋值运算符 (1)1对1赋值 var

李洪强iOS开发Swift篇—08_函数(2)

李洪强iOS开发Swift篇—08_函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1: Int, num2: Int) -> Int { 2 return num1 + num2 3 } sum函数的函数类型是(Int, Int) -> Int 1 func printLine() 2 { 3 println("-----------") 4 } printL

李洪强iOS开发Swift篇—05_元组类型

李洪强iOS开发Swift篇—05_元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let position = (x : 10.5, y : 20)  // position有2个元素,x.y是元素的名称 let person = (name : "jack")  // person只有name一个元素 let data = ()  // 空的元组 2.元素的访问 var posi

李洪强iOS开发Swift篇—06_流程控制

李洪强iOS开发Swift篇—06_流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注意:这些语句后面一定要跟上大括号{},在C语言中不是必须的 说明:跟C语言对比,用法基本一样的有:for.while.do-while.if 因此,只需要关注for-in和switch即可 二.for-in结构 简单使用: for-in和范围运算符 for i in 1...3 { println(

李洪强iOS开发Swift篇—03_字符串和数据类型

李洪强iOS开发Swift篇—03_字符串和数据类型 一.字符串 字符串是String类型的数据,用双引号""包住文字内容  let website = "http://www.wendingding.com" 1.字符串的常见操作 (1)用加号 + 做字符串拼接 let scheme = "http://" let path = “www.wendingding.com” let website = scheme + path // websi

李洪强iOS开发Swift篇—01_简单介绍

李洪强iOS开发Swift篇—01_简单介绍 一.简介 Swift是苹果于2014年WWDC(苹果开发者大会)发布的全新编程语言 Swift在天朝译为“雨燕”,是它的LOGO 是一只燕子,跟Objective-C一样,可以用于开发iOS.Mac应用程序 苹果从2010年7月开始设计Swift语言,耗时4年打造 Swift的语法特点 从它的语法中能看到Objective-C.JavaScript.Python等语言的影子 语法简单.代码简洁.使用方便 可与Objective-C混合使用(相互调用)

李洪强iOS开发之性能优化技巧

李洪强iOS开发之性能优化技巧 通过静态 Analyze 工具,以及运行时 Profile 工具分析性能瓶颈,并进行性能优化.结合本人在开发中遇到的问题,可以从以下几个方面进行性能优化. 一.view优化 1.不透明的View 设置为opaque. 2.根据实际情况重用.延迟加载或预加载View. 3.减少subviews数量,定制复杂cell使用drawRect.尽量使用drawRect而不是layoutSubView. 4.不直接调用drawRect. layoutSubviews方法.万不