Я хочу написать универсальный метод в расширении Array, который принимает тип параметра, который также является массивом, в котором типы элементов одинаковы (для вызывающей стороны расширения массива и параметра).Это то, что я имею в виду (но ни один из них не работает):
extension Array {
func doSomethingWithAnotherArray(arr: Self) {
}
}
extension Array {
func doSomethingWithAnotherArray<T: Array<Element>>(arr: T){
}
}
extension Array {
func doSomethingWithAnotherArray<T: Array<U>, U>(arr: T) where U == Element{
}
}
Так что я могу использовать его как:
let x = [1, 2]
let y = [3, 4]
x.doSomethingWithAnotherArray(arr: y)
Since x and y has the same elements.