您的位置:首页 > 移动开发 > IOS开发

IOS-文档1

2015-09-03 16:37 183 查看
值永远不会被隐式转换为其他类型。如果你需要把一个值转换成其他类型,请显式转换。

运行中匹配到的子句之后,程序会退出语句,并不会继续向下运行,所以不需要在每个子句结尾写break。如果你想多个case使用同一个语句,你可以使用fallthrought关键字。

函数的参数数量是可变的:

func sumOf(numbers: Int... ) -> Int {
    var sum = 0
    for number in numbers {
        sum += number
    }
    return sum 
}




函数实际上是一种特殊的闭包,你可以使用{}来创建一个匿名闭包。使用in来分割参数并返回类型。

numbers.map( {
    (number: Int) -> Int in
    let result = 3 * number
    return result
})
有很多种创建闭包的方法。如果一个闭包的类型已知,比如作为一个回调函数,你 可 以 忽略参数的类型和返回值。单个语句闭包会把它语句的值当做结果返回。
你可以通过参数位置而不是参数名字来引用参数——这个方法在非常短的闭包中非常有用。当一个闭包作为最后一个参数传给一个函数的时候,它可以直接跟在括号后面。

sort([1,5,3,12,2]){$0>$1}


使用toRaw和fromRaw函数来在原始值和枚举值之间进行转换。

mutating关键字用来标记一个会修改结构体的方法 。

在类型名后面使用 where 来指定一个需求列表——例如,要限定实现一个协议的类型,需要限定两个类型要相同,或者限定一个类必须有一个特定的父类。

func anyCommonElements <T, U where T: Sequence, U: Sequence, T.Generat orType.Element: Equatable, T.GeneratorType.Element == U.GeneratorType. Element> (lhs: T, rhs: U) -> Bool {
    for lhsItem in lhs {
        for rhsItem in rhs {
            if lhsItem == rhsItem {
                return true
            }
        }
    }
    return false 
}
anyCommonElements([1, 2, 3], [3])
使用!来获取一个不存在的可选值会导致运行时错误。使用!来强制解析值之前,一定要确定可选包含一个非nil的值。

我们可以使用下标语法来通过给

如果你想为一个函数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: