¿Cuál es la diferencia entre Any y AnyObject?
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.