iOS开发Swift篇—(二)变量和常量

简介:

一、语言的性能

(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演练程序

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

目录
相关文章
|
8天前
|
编解码 Android开发 iOS开发
探索安卓与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的世界中,安卓和iOS是两大主导力量。本文深入探讨了这两个平台在开发过程中的主要差异,并分析了这些差异如何影响项目的成功。通过对比分析,我们旨在为开发者提供决策时的参考,帮助他们根据项目需求和目标用户群体做出最合适的平台选择。
|
7天前
|
Swift iOS开发
iOS Swift使用Alamofire请求本地服务器报错-1002
iOS Swift使用Alamofire请求本地服务器报错-1002
20 1
|
5天前
|
Java Android开发 iOS开发
探索安卓与iOS开发的差异:平台选择对项目成功的影响
在移动应用开发的世界中,选择正确的平台是关键。本文通过比较安卓和iOS开发的核心差异,揭示平台选择如何影响应用的性能、用户体验和市场覆盖。我们将深入探讨各自的开发环境、编程语言、用户界面设计原则以及发布流程,以帮助开发者和企业做出明智的决策。
25 9
|
2天前
|
移动开发 开发工具 Android开发
探索安卓与iOS开发的差异:技术选择的影响
【8月更文挑战第17天】 在移动应用开发的广阔天地中,安卓和iOS两大平台各领风骚。本文通过比较这两个平台的编程语言、开发工具及市场策略,揭示了技术选择对开发者和产品成功的重要性。我们将从开发者的视角出发,深入探讨不同平台的技术特性及其对项目实施的具体影响,旨在为即将步入移动开发领域的新手提供一个清晰的指南,同时给予资深开发者新的思考角度。
|
5天前
|
Java 开发工具 Android开发
探索安卓与iOS开发的差异:从新手到专家的旅程
在数字时代的浪潮中,移动应用开发成为了连接世界的桥梁。本文将带你走进安卓与iOS这两大移动操作系统的开发世界,通过比较它们的编程语言、开发工具和环境、用户界面设计以及市场分布等方面,揭示各自的独特之处。无论你是初涉编程的新手,还是寻求进阶的开发者,这篇文章都将为你提供宝贵的洞见,助你在移动应用开发的征途上一帆风顺。
19 5
|
3天前
|
vr&ar Android开发 iOS开发
探索安卓和iOS开发的未来趋势
在移动应用开发的广阔天地里,安卓和iOS两大平台如同双子星座般璀璨夺目。随着技术的不断进步,这两个平台的开发趋势也在悄然发生着变化。本文将带你一探究竟,看看未来安卓和iOS开发将会迎来哪些令人激动的新特性和挑战。让我们一起跟随技术的脚步,开启这场探索之旅吧!
|
4天前
|
移动开发 Java Android开发
安卓与iOS开发:异同探析
在移动应用开发的广阔天地中,安卓和iOS两大平台各自占据半壁江山。本文旨在深入探讨这两个平台在开发环境、编程语言、用户界面设计、性能优化及市场分布等方面的异同,为开发者提供实用的比较视角和决策参考。通过对比分析,我们不仅能更清晰地认识到各平台的特性,还能洞察未来移动开发的可能趋势。
|
5天前
|
Java 开发工具 Android开发
探索Android和iOS开发的差异与挑战
在移动应用开发的广阔天地中,Android和iOS两大平台如同两座高峰,各自拥有独特的风景。本文将深入探讨这两个平台的开发差异,包括编程语言、开发工具、用户界面设计等方面,并分析开发者面临的挑战。无论你是初涉移动应用开发的新手,还是已经在这条路上走了很远的老手,这篇文章都将为你提供新的视角和思考。让我们一起走进这个充满创新与挑战的世界,发现那些隐藏在代码背后的秘密。
|
6天前
|
安全 测试技术 调度
iOS开发-多线程编程
【8月更文挑战第12天】在iOS开发中,属性的内存管理至关重要,直接影响应用性能与稳定性。主要策略包括:`strong`(强引用),保持对象不被释放;`weak`(弱引用),不保持对象,有助于避免循环引用;`assign`(赋值),适用于基本数据类型及非指针对象类型;`copy`(复制),复制对象而非引用,确保不变性。内存管理基于引用计数,利用自动引用计数(ARC)自动管理对象生命周期。此外,需注意避免循环引用,特别是在block中。最佳实践包括理解各策略、避免不必要的强引用、及时释放不再使用的对象、注意block中的内存管理,并使用工具进行内存分析。正确管理内存能显著提升应用质量。
|
6天前
|
Swift iOS开发
iOS开发-属性的内存管理
【8月更文挑战第12天】在iOS开发中,属性的内存管理至关重要,直接影响应用性能与稳定性。主要策略包括:`strong`(强引用),不维持对象生命期,可用于解除循环引用;`assign`(赋值),适用于基本数据类型及非指针对象属性;`copy`,复制对象而非引用,确保对象不变性。iOS采用引用计数管理内存,ARC(自动引用计数)自动处理引用增减,简化开发。为避免循环引用,可利用弱引用或Swift中的`[weak self]`。最佳实践包括:选择恰当的内存管理策略、减少不必要的强引用、及时释放不再使用的对象、注意block内存管理,并使用Xcode工具进行内存分析。

相关课程

更多