Colección de citas famosas - Slogan de motivación - ¿Cuál es la diferencia entre Any y AnyObject?

¿Cuál es la diferencia entre Any y AnyObject?

Cualquiera: puede representar cualquier tipo de clase, estructura, enumeración, incluidas funciones y tipos opcionales, básicamente cualquier cosa.

AnyObject: hace referencia a cualquier instancia de la clase. Esto sólo es útil cuando se utilizan tipos de referencia. Esto es equivalente a "id" en Objective-C.

Si tu diccionario solo se usa en Swift, debes usar Any porque tus tipos (Int, Double, Float, String, Array y Dictionary) no son objetos.

Si estás pasando un diccionario a código Objective-C que requiere un NSDictionary, debes usar AnyObject.

Utilice AnyObject cuando necesite la flexibilidad de los objetos sin tipo, o cuando utilice métodos y propiedades puente de Objective-C que devuelvan resultados sin tipo. AnyObject se puede utilizar como un tipo concreto para cualquier clase, tipo de clase o instancia de contrato específica de clase.

La flexibilidad del protocolo AnyObject es similar al tipo de identificación de Objective-C. Por lo tanto, los tipos Objective-C importados suelen utilizar AnyObject como tipo para propiedades, parámetros de método y valores de retorno.

Utilice AnyObject cuando trabaje con tipos de referencia y utilice Any cuando trabaje con tipos de valor.