2.println与print的区别就是一个可以换行一个不可以
3.swift省去了.h与.m 直接一个swift文件
4.元组可以返回多个值,元组(tuples)把多个值组合成一个复合值。元组内的值可以使任意类型,并不要求是相同类型,你可以将一个元组的内容分解(decompose)成单独的常量和变量,然后你就可以正常使用它们了:
let (statusCode, statusMessage) = http404Errorprintln("The status code is \(statusCode)")
如果你只需要一部分元组值,分解的时候可以把要忽略的部分用下划线(_)标记:
let (justTheStatusCode, _) = http404Error
println("The status code is \(justTheStatusCode)")
// 输出"The status code is 404"
此外,你还可以通过下标来访问元组中的单个元素,下标从零开始:
println("The status code is \(http404Error.0)")// 输出"The status code is 404"
println("The status message is \(http404Error.1)")
// 输出"The status message is Not Found"
你可以在定义元组的时候给单个元素命名:
let http200Status = (statusCode:200, description:"OK")
给元组中的元素命名后,你可以通过名字来获取这些元素的值:
println("The status code is \(http200Status.statusCode)")// 输出"The status code is 200"
println("The status message is \(http200Status.description)")
// 输出"The status message is OK"
5.nil可以用在常量上,也可以用在变量上.
Swift的nil和 Objective-C中的nil并不一样。在 Objective-C中,nil是一个指向不存在对象的指针。在 Swift 中,nil不是指针——它是一个确定的值,用来表示值缺失。任何类型的可选都可以被设置为nil,不只是对象类型。
nil不能用于非可选的常量和变量。如果你的代码中有常量或者变量需要处理值缺失的情况,请把它们声明成对应的可选类型 //let test : String = nil 这是错的
如果你声明一个可选常量或者变量但是没有赋值,它们会自动被设置为nil:var surveyAnswer: String?
// surveyAnswer 被自动设置为 nil
6.如果相对变量的类型进行锁定,可以用 “ : “ 来确定,例如 :String,声明中的冒号代表着“是…类型”(不过一般Xcode会帮你自动判断类型)
7.swift str转int 类型是str.toInt()的方法,转str目前只会str.bridgeToObjectiveC().doubleValue,str.toInt()返回的是一个可选类型,也就是说可以为nil
8.可以用typealias进行类型别名
9.assertion 断言 通过一个判断可以进行调试(可带打印信息)
10.var possibleString:String? =nil
//let possibleString: String? = "An optional string." println(possibleString)
//println(possibleString!)加叹号会蹦使用!来获取一个不存在的可选值会导致运行时错误。使用!来强制解析值之前,一定要确定可选包含一个非nil的值。