ios-需要掌握的知识点

iOS 可选型与泛型

2019-05-07  本文已影响2人  A_rcher34

可选型

泛型

在swift中,泛型主要是为了增加代码的灵活性而生的:它可以使对应的代码满足任意类型的变量或方法。

举例:一种方法可以交换两个Int值

func swap(_ a: inout Int, _ b: inout Int) {
    (a, b) = (b, a);
}

这种方法虽然正确但并不高效。如果交换的类型改为float,则有需要重写一遍方法。泛型就是为了解决这类问题而来的:希望有一个一般性的方法,可以交换任意类型的变量。

func swap<T>(_ a: inout T, _ b: inout T) {
    (a, b) = (b, a);
}

因为swift是类型安全的语言,所以这里交换的两个变量的类型必须一致。

上一篇 下一篇

猜你喜欢

热点阅读