Open aliencode opened 9 years ago
关于 ? 和 !的用法 http://letsswift.com/2014/06/swift-questionmark-exclamatorymark/
?
说这个变量是个值不确定的,,有可能为 nil通过可选绑定来取值,如
var strValue:String?
if let str = strValue {
let hashValue = str.hashValue
}
或者通过 strValue!
!
说这个变量我确定它有值,,你给你取出来
接收变量地址
func swapTwoInts(inout a: Int, inout b: Int) {
let temporaryA = a
a = b
b = temporaryA
}
//调用
var someInt = 3
var anotherInt = 107
swapTwoInts(&someInt, &anotherInt)
println("someInt is now \(someInt), and anotherInt is now \(anotherInt)")
// prints "someInt is now 107, and anotherInt is now 3”
let http404Error = (404, "Not Found")
//指定个名称
let http200Status = (statusCode: 200, description: "OK")
//访问 http404Error.0 或者 http200Status.statusCode
//将一个元组的内容分解成单独的常量和变量
let (statusCode, statusMessage) = http404Error
//忽略某个值
let (justTheStatusCode, _) = http404Error
didSet
和 willSet
不会在类的 init
方法中触发
检查类型
用类型检查操作符(is)来检查一个实例是否属于特定子类型,返回 true 或 false 。
申明变量
根据值判断变量类型
字符输出
aaa
将被值替换.字符串合并
数组
申明空数组
用switch来判断读取anyArray数据
for-in使用
key/value形式遍历
if-else使用
switch使用
do,while使用
0..<4 不包括4,如果要包括4,使用 0...4
函数和闭包
闭包
对象和类
didSet 实例
枚举
协议(接口)和扩展
协议
扩展
泛型
类和结构
类和结构基本相同,最大的区别是类是引用类型,结构是值类型!
闭包和函数也是 引用类型
引用类型就是变量和它赋值的类、函数或闭包指向同一内存位置。参考 http://numbbbbb.gitbooks.io/-the-swift-programming-language-/content/chapter2/07_Closures.html#closures_are_reference_types