1、第一个程序
import Foundation
println(“hello world”)
2、常用数据类型
int/UInt/Double/Float/Bool/String/Array/Dictionary/元组(tuple)/可选类型(Optional)
3、变量常量必须设初始值
变量 var myName = “zhangsan”
常量 let myPhone = “18336070719”
4、整型变现形式
二进制: 前缀为0b
八进制:前缀为0o
十六进制:前缀为0x
5、类型别名
使用typealias定义,类似与typedef
typealias NSInteger = Int
var value:NSInteger = 12
6、swift不支持隐式类型转换。需要显示类型转换 String(23):把23转换成字符串
字符格式化\(items)
let apples = 3
let applesSummary = “I hava \(apples) apples”
7、数组
let emtptArray Array = [ ]
插入:
往数组里面加元素(末尾) emtptArray.append(“pingguo”);
插入emptpt.insert(“pingguo”,atIndex:3);
emtptArrayi +=“pingguo “
emtptArray.capacity //数组的容量2的次方,值大于等于emtptArray.count,
修改:
array[1] = “天空”
array[4…7] = [“bananas”,”apple”] //把下标为4,5,6,7的元素替换
删除:
array.removeLast() //删除最后一个元素
array.removeAtIndex(4)
array.removeAll() //删除所有
新建数组
var array = Array(count:3,repeateValue:2.5);
遍历:
1、for item in array{
println(item)
}
2、for(index,value) in enumerate(array)
{
println(“Time \(index+1):\(value)")
}
8、字典
1、let emptyDic1 = [:] //声明一个空的字典
2、let empty2 = Dictionary<String,Float>() //确定key和value的类型
3、var ariport = [“TYP”:”Tkkyo”,”Dub”:”Bublin"]
删除
airports[“THO”] = nil
airports.removeValueForKey[“TYP”]
遍历
for key in airports.keys
{//遍历所有的keys
}
for(key,value) in airport {
println("\(key):\(value)")
}
9元组
可以将任意数据类型组装成一个元素
元组在作为函数返回值的时候特别适用
let (x,y) = (1,2)
let http404Error = (404,”Not Found”) //定义一个由Int 和String做成的元组
let gtt = (status:300,desc:”OK”)
可选类型(Optional)
1、nil不能用于非可选类型
2、如果代码中的常量或者变量需要适配值不存在,务必将她声明称可选类型
3、如果定义的可选类型的对象不提供默认值,该对象将自动设置为nil
这个值要么存在,并且等于x;要么就不存在
let name = "zhanggui"
let number = "124"
let ss:Int? = name.toInt()
println(ss)
10?使用场景
1、声明Optional值变量
2、用在Optional操作中,用来判断是否响应后面的操作
11解包:用!(1、强制对可选量进行解包;2、声明隐式解包可选类型时,用于类中的属性)
//解包方法一
var strValue:String? = "This is my Book"
println(strValue!) //解包,确定strValue的值一定存在,不需要每次都验证他的值是否存在
let stringValue = strValue!.hashValue //必须解包才能获取可选量的属性或者方法
println(stringValue)
//解包方法二 选择绑定
if let sValue = strValue
{
let stringValue = sValue.hashValue
println(stringValue)
}
//隐式解包可选类型,在定义的时加!
let assumedString:String! = "A apple"
println(assumedString)
println(assumedString.hashValue)