码迷,mamicode.com
首页 > 编程语言 > 详细

Swift学习备忘录

时间:2015-08-01 20:27:58      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

1、常量的定义

常量定义使用let关键字,可以采用下面两种方式之一:

1)标准方式初始化

    let CPU_NUM: Int = 2

2) 对于确切的值,可以使用类型推断,如 let CPU_NUM = 2

常量一般在定义时即初始化,为了简洁一般采用上面第2)种方式。

常量可以只声明但不初始化,随后在具体的场合初始化,但只能初始化一次。因为声明时没有具体的值,无法进行确切的类型推断,所以需要按照标准的方式声明,加上类型值。

如:let CPU_NUM: Int; CPU_NUM = 2 

 2、变量的定义

变量定义使用var关键字,可以采用的形式如:

1)标准方式

    var Welcome: String = "Hello World!"

2)类型推断

   var Welcome = "Hello World!"

也可以只声明,如var Welcome: String

3、元组

let HTTP404Error = (404, "Not found")

var (statusCode, statusMessage) = HTTP404Error

var (_, result) = HTTP404Error

也可以在定义元组时为每个字段指定名字,如:

let HTTP200Status = (statusCode: 200, Content:"OK")

打印时可以这样使用:

print(HTTP200Status.statusCode, HTTP200Status.Content)

 4、可选类型

可以定义一个类型为可选类型,对于此类型的变量,它可以有具体的值,也可以没有值,如果没有值则为nil

如:

let IsCheckID: Bool? = true

if IsCheckID == nil {

    print("No need check ID")

else {

    print("Check ID")

}

5、数组

定义数组的几种方式:

1)可以先声明,在适当的时候初始化

  var Score: [Int]; Score = [Int]()

2)可以直接定义一个空数组

  var Score = [Int]()   

3)定义一个有初始大小的数组,并按照指定的值初始化

  var Score = [Int](count: 10, repeatedValue: 0)

4)定义具有初始值的数组

  var Score = [90, 59, 85.5]

向数组中插入元素,假设定义了以下数组:

varScore = [Int]()

可以用以下方式向数组中加入元素:

Score.append(10)

Score.append(20)

Score.append(30)

print(Score)

// output

[10, 20, 30]

数组下标的方法只能用来查询或修改已有元素,不能用来插入新元素。如以下代码将会印发运行时错误:

Score[3] = 100

但是可以修改已存在的元素:

Score[2] = 100

// output

[10, 20, 100]

也可以在已有的元素中间插入一个新元素:

Score.insert(100, atIndex: 0)

// output

[100, 0, 20, 100]

也可以在当前数组的大小基础上插入一个新元素,此时insert函数的作用等效于append

Score.insert(100, atIndex: 4)

//引发运行时异常

Score.insert(100, atIndex: 20)

 6、集合

集合是用来存放具有相同数据类型的值得容器,集合中的数据不能重复。

集合的定义:

1)var Cities: Set<String> = ["Beijing", "Shanghai", "Shenzhen"]

2)var Cities: Set = ["Beijing", "Shanghai", "Shenzhen"] // 基于类型推断

Set的元素顺序具有不确定性,即遍历时打印不一定和声明或插入元素的顺序一致。

print(Cities)

// output

["Shanghai", "Shenzhen", "Beijing"]

7、字典

字典属于关联容器,它是<key-value>键值对的集合,其中key不能重复。

字典的定义:

1) var Score: [String: Int] = ["Jack": 90, "Aaron": 100]

2)var Score = ["Jack": 90, "Aaron": 100]

3)var Score = Dictionary<String, Int>()

字典的操作:

 1)访问某个元素

字典的值是可选类型,如果直接用下标法访问,可能会和你的预期不一样,如

print(Score["Jack"])

// output

Optional(90)

不过如果可以通过值进行正常比较,如if Score["Jack"] == 90

如果想正常打印值,可以这样:

if let JackScore = Score["Jack"] {

    print(JackScore)

}

// output

90

遍历字典

for (name, score) in Score {

    print(name, score)

打印一个不存在的Key的值,将会返回nil

字典和Set一样,顺具有不确定性

2) 插入数据

Score["Merry"] = 80

3)修改数据

Score.updateValue(95, forKey: "Merry")

updateValue一个不存在的Key,相当于新增加一个元素

 

 

 

Swift学习备忘录

标签:

原文地址:http://www.cnblogs.com/code-review/p/Swift.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!