Welcom to Swift

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)

 

posted @ 2014-07-17 15:14  zhanggui  阅读(317)  评论(0编辑  收藏  举报