Cómo hacer que una function acepte todo tipo de matrices

Soy un poco nuevo en Swift y me preguntaba cómo hago que una function acepte una matriz que contenga todo tipo de types de variables. Quiero que la function simplemente acepte 'Array' sin un tipo específico, pero arroja un error. Aquí está mi código:

func length(arry arry: Array) { } 

Sé que tengo que poner un <> después de la matriz pero necesito la function para aceptar universalmente todas las matrices.

EDITADO: Cada vez que agrego una extensión obtengo estos ridículos errores. Mi código es:

 //: Playground - noun: a place where people can play import UIKit extension Array { var length: Int { return self.count } } var arrY = ["Hello", 0] for(var i = 0; i < length(arry: arrY); i++) { print(arrY[i]); } arrY.append(28); var h = arrY.removeAtIndex(0); print(h); 

Obtengo errores que dicen: 1 En la línea diez, las extensiones pueden no contener properties almacenadas 2 En la línea once Declaración esperada 3 En línea Dieciocho Declaración esperada Gracias,

Jack

Si lo desea, puede escribir una function genérica:

 func length<T>(arry arry: Array<T>) { } 

En Swift, Apple introdujo el concepto de Generics que ahora también puede encontrar en Xcode 7 y Objective-C. Esta característica le permite definir el tipo de cada elemento en la matriz o la class de colección que está utilizando. Puede definir una class genérica o un método genérico como la muestra dada. Esta function le brinda la capacidad de escribir su código de manera que pueda funcionar de forma segura con diferentes types, al mismo time que aprovecha el tipo de security. Por ejemplo, en la muestra que di, está diciendo que la length es un método genérico que toma una matriz del tipo T como input. Escribir un método como este, le permite escribir un método que sea capaz de aceptar matrices de diferentes types. Por ejemplo, siguiendo el código de muestra, se muestra que puede usar el mismo método para la matriz de Int y la matriz de Double :

 var arr = [13, 23, 32] var arr2 = [12.3, 23.5, 13.14, 2.75] var arr3 = ["foo", "boo"] length(arr) length(arr) length(arr) 

Para get más información sobre Generics, puede consultar los documentos en línea en este enlace y ver videos de presentación de Swift para WWDC 2014 y / o leer la sección genérica del lenguaje de progtwigción Swift

Usar una function genérica es la mejor respuesta. Pero también podría usar [Any] como un parámetro para esta function.

 func length(array: [Any])->Int{ return array.count } 

Si está acostumbrado a .length , haga una extensión a Array con una propiedad de length :

 extension Array { var length: Int { return self.count } } 

Entonces puedes llamarlo en matrices como estás acostumbrado a:

 ["a", "b"].length // 2 [0, 1].length // 2