Swift从零开始学习_02

Swift第二天

一.字典

Swift中的字典并不像OC中可以存储任意的对象, Swift中的字典需要提前定义存储的键值的类型, 可以直接指定类型, 也可以让他自行推断.

Swift 的字典使用Dictionary<KeyType, ValueType>方式来定义.

var dic = ["firstName":"Chris","lastName":"Paul"] //直接创建字典

var dic1:Dictionary<String,String> = ["firstName":"Chris","lastName":"Paul"] //创建字典的同时指定键值的类型, 这是指定类型的时候不会提示, 硬打上去可以的

dic["team"] = "LAC" //这样就可以为字典添加一个键值对了,同样的也可以通过key直接去改对应的value

 var x = dic.updateValue("LAL", forKey: "team") //该方法是通过key改变value, 返回值为被改以前的值, 如果对应的key不存在, 会返回nil, 但字典会添加该键值对

dic["team"] = nil //可以通过把key置为nil来把该键值对从字典中移除

var x = dic.removeValueForKey("team") //根据key移除键值对, 同样key错误会返回nil, 这里可以不用x接收的

println(dic.keys) //得到所有的key, 跟OC中的是一样的

var keysArray = Array(dic.keys) //取出所有的keys, 并且构造成一个数组, 个人感觉, 如果想以想要的格式接收, 需要去构建一个这种对象

var testArray = Dictionary<Int,String>() //创建一个空字典, 指定key和value的类型

testArray[3] = "Chris" //给空字典添加键值对, 这里就需要按指定的数据类型了, 不然会报错

//Swift中的var对象都是可变的, let对象是不可变的, 也就是说如果想创建一个不可变的数组或者字典, 只用修饰成let就可以了, 修饰成var的是可变(个人理解是这样的)

二.for循环

①.传统的for循环在Swift中也适用

for (var i = 0; i < 5; i++){

    println(i) //首先, 第一种方法, 跟之前用的for循环没什么差别

    }

②.Swift中的一种循环

for i in 1...5{

    println(i) //for..in,其中1...5为1到5得意思

}

③.let power = 10

var answer = 1

for _ in 1...power {

    answer++ //这种循环,  _就是忽略对值得访问, 只是单纯的进行循环, 该例中就是单纯的进行10次循环

}

④.遍历数组

var array = ["one", "two"]

for str in array{ //遍历数组, str可以是任意的

    println(str)

}

⑤.遍历字典

var dictionary = ["firstname":"Chris", "lastname":"Paul"]

for (key,value) in dictionary{

    println("\(key), \(value)") //遍历字典

}

⑥.遍历字符串

for character in "Hello" {

    println(character) //一直觉的这里不用指明遍历的对象的类型很不妥, 但是估计这就是Swift的语法习惯, 希望以后习惯这东西

}

结语, 今天的Swift学习就这么多了, 感觉有点习惯这种语法了, 其实比起OC还是简便了很多的, 继续坚持!

 

posted on 2015-01-28 15:46  Now丶薄荷  阅读(332)  评论(0编辑  收藏  举报

导航