首页 > 代码库 > Swift学习二

Swift学习二

参考博客:http://blog.csdn.net/jaywon

//swift不会自动为变量赋初始值,必须手动添加初始值

//数组 Array
let array:Array = []; 声明一个空数组
var array1 = String[]() 声明一个字符串数组
往数组末尾添加新元素
array.append("新元素")
array += "新元素"
array += ["新元素1","新元素2",...]
往数组里的指定位置添加新元素
array.insert("新元素,atIndex:index)

array[4...7] = ["新元素1","新元素2"] //替换元素,可以比原来的少
,这样将会导致数组的元素个数减少
数组删除最后一个元素
array.removeLast()
数组指定位置删除元素
array.removeAtIndex(index)
删除所有的元素
array.removeAll()
遍历数组
for item in array {
println(item)
}
for (index,value) in enumerate(array) {
println("Item\(index+1),Value\(value)")
}

//字典 Dictionary
var dictionary = Dictionary<String:float>() 创建一个字典,key是
字符串类型,value是浮点类型
字典的添加/修改
dictionary[key] = value 遍历字典,如果找到相应的key就是修改,
找不到就算添加
字典删除键值对
dictionary[key] = nil
dictionary.removeValueForkey(key)
字典的遍历
for (key,value) in dictionary{
println("\(key):\(value)")
}
遍历字典所有的key
for key in dictionary.keys{
println(key)
}
遍历字典所有的value
for value in dictionary.values{
println(value)
}

//可选类型 Optional 这个值要么存在,并且等于X,要么根本不存在
let numberStr = "123"
let convertNumber:Int? = numberStr.toInt() 存在即转成123,不存
在则转成nil
Swift中nil不是指针,它代表特定类型的值不存在,任何类型的可选类型
都能赋值为nil,而不仅限于对象类型,并且更加安全
规则:
1、Swift里面的nil不能用于非可选类型 eg: var str = nil 是错误的
2、如果代码中的常量或者变量需要适配不存在的情况,务必将它声明称恰
当的可选类型
3、如果定义的可选类型的对象不提供默认值,该对象将自动设为nil
eg:var str:String? 没有赋值,默认值就是nil。
var str:String?
let hashValue = http://www.mamicode.com/str?.hashValue //必须加问号,表示可选类型是否相>应后面的方法或者属性

//解包(!) 如果确定一个可选类型的对象的值一定存在,那么就使用!
进行解包获取它的值,或者Optional Binding
使用“!”
let str:String? = "12345"
println(str)
let descStr = str!.hashValue
使用 Optional Binding,通过判断一个常量是否存在
if let sValue = http://www.mamicode.com/str {
let descStr = sValue.hashValue
}

//隐式解包
在可选的类型名称后面,在定义的时候将?改成!
let str:String! = "123456"
println(str)
let descStr = str.hashValue

//字符串 String
字符串相等可以用==
字符串前缀string.hasPrefix
字符串后缀string.hasSuffix
字符串中字符的个数countElements(string)

Swift学习二