Generics are one of the most powerful features of Swift.
For example Array and Dictionary types are both generic collections.
- For arrays it can hold any data types eg. Int, String.
- Similarly with Dictionary we can store values of any specified data type.
Generic Functions
A generic function uses placeholder type name called T. T placeholder is used on generic functions and on the type parameters as such.
func swapStuffs<T>(_ a: inout T, _ b: inout T {
let tempA = a
a = b
b = tempA
}
We can provide more than one type parameters separate by comma within the angle brackets.
Naming Type Parameters
You can give type parameters descriptive name such as Dictionary<Key, Value> or Array<Element>. Always give type parameters upper case names.