Ya sea que use Any
o AnyObject
depende de su uso previsto:
Si va a utilizar su diccionario solamente en el código Swift, entonces debería usar Any
debido a sus tipos ( Int
, Double
, Float
, String
, Array
, y Dictionary
) no son objetos.
Si va a pasar su diccionario a las rutinas de Objective-C que esperan un NSDictionary
, entonces debería usar AnyObject
.
Cuando import Foundation
o import UIKit
o import Cocoa
, es posible declarar la matriz como [String: AnyObject]
, pero en este caso Swift ha tratado su Int
, Double
, Float
literales como NSNumber
, sus String
s como NSString
, sus Array
s como NSArray
, y de los diccionarios como NSDictionary
, todos los cuales son objetos. Un diccionario que usa AnyObject
como tipo de valor es convertible a NSDictionary
, pero uno que usa Any
no lo es.
String
,Array
yDictionary
no son clases, para estas se usa Any.