【大树云微课堂】-iOS简明开发教程-Swift快速入门 01

关键字 :大樹雲BTCiOS
前言

Swift 是⼀门全新的⽤于开发 iOS, OS X 以及 watchOS 应用的编程语言。
不过,如果你有 C 或者 Objective-C 语言开发经验的话,Swift 的许多地⽅都会让你感到熟悉。

Swift 为所有 C 和 Objective-C 的类型提供了自己的版本,包括整型值的 Int ,浮点数值的 Double 和 Float ,布尔量量值的 Bool ,字符串串值的 String 。
如同集合类型中描述的那样, Swift 同样也为三个主要的集合类型提供了更⾼效的版本, Array , Set 和 Dictionary 。

和 C ⼀样,Swift ⽤变量存储和调⽤值,通过变量名来做区分。Swift 中也⼤量采⽤了值不可变的变量。
它们就是所谓的常量,但是它们比 C 中的常量更加给力。当你所处理的值不需更改时,使⽤常量会让你的代码更加安全、简洁地表达你的意图。

除了我们熟悉的类型以外,Swift 还增加了 Objective-C 中没有的类型,⽐如元组。元组允许你来创建和传递一组数据。你可以利用元组在一个函数中以单个复合值的形式返回多个值。
Swift 还增加了可选项,⽤来处理没有值的情况。可选项意味着要么“这里有⼀个值,它等于 x”要么“这里根本没有值”。
可选项类似于 Objective-C 中的 nil 指针,但是不只是类,可选项也可以用在所有的类型上。可选项比 Objective-C 中的nil 指针更安全、更易读,他也是 Swift 语言中许多重要功能的核心。

可选项充分证明了 Swift 是⼀门类型安全的语言。Swift 帮助你明确代码可以操作值的类型。如果你的⼀段代码预期得到一个 String ,类型会安全地阻⽌你不小⼼传⼊ Int 。
在开发过程中,这个限制能帮助你在开发过程中更早地发现并修复错误。

基本语法
示例
   
● 打开 Xcode, 创建 iOS playground 并引入 UIKit 库



注释

● 单⾏注释以两个反斜线开头



● 多⾏注释以 /* 开始,以 */ 结束



数据类型
整数类型 Int


浮点数:Float、Double


布尔值:Bool


字符串:String


字符:Character


数值范围

下表显示了不同变量类型内存的存储空间,及变量类型的最大最小值:


类型别名

类型别名对当前的类型定义了另一个名字,类型别名通过使用 typealias 关键字来定义



类型安全

Swift 是⼀个类型安全(type safe)的语言。

由于 Swift 是类型安全的,所以它会在编译你的代码时进行类型检查(type checks),并把不匹配的类型标记为错误。这可以让你在开发的时候尽早发现并修复错误。



以上程序,会在 Xcode 中报错:



意思为不能将 'String' 字符串赋值给 'Int' 变量。

类型推断

当你要处理不同类型的值时,类型检查可以帮你避免错误。然而,这并不是说你每次声明常量和变量的时候都需要显式指定类型。
如果你没有显式指定类型,Swift 会使用类型推断(type inference)来选择合适的类型。
例如,如果你给一个新常量赋值 42 并且没有标明类型,Swift 可以推断出常量类型是 Int,因为你给它赋的初始值看起来像一个整数:



同理,如果你没有给浮点字面量标明类型,Swift 会推断你想要的是 Double:



当推断浮点数的类型时,Swift 总是会选择 Double 而不不是 Float。
如果表达式中同时出现了整数和浮点数,会被推断为 Double 类型:



原始值 3 没有显式声明类型,而表达式中出现了一个浮点字⾯量,所以表达式会被推断为 Double 类型。

常量与变量
常量一旦设定,在程序运行时就无法改变其值。
常量可以是任何的数据类型如:整型常量,浮点型常量,字符常量或字符串常量。同样也有枚举类型的常量:
常量类似于变量,区别在于常量的值⼀旦设定就不能改变,⽽变量的值可以随意更改。



可选类型:Optional 与可选绑定
使用可选类型来处理值可能缺失的情况。可选类型表示有值或没有值。



运算符
运算符是⼀个符号,⽤于告诉编译器执行一个数学或逻辑运算。

算术运算符


⽐较运算符


逻辑运算符


位运算符



赋值运算



区间运算符


其他运算符


运算符优先级

基本的优先级需要记住:

  ● 指针最优,单目运算优于双目运算。如正负号。
  ● 先乘除(模),后加减。
  ● 先算术运算,后移位运算,最后位运算。请特别注意:1 << 3 + 2 & 7 等价于 ( 1 << ( 3 + 2 )) & 7
  ● 逻辑运算最后计算



更多大樹雲資源,請參照:

★博文内容均由个人提供,与平台无关,如有违法或侵权,请与网站管理员联系。

★博文作者未开放评论功能