ไม่ว่าคุณจะใช้Any
หรือAnyObject
ขึ้นอยู่กับวัตถุประสงค์การใช้งานของคุณ:
ถ้าพจนานุกรมของคุณจะถูกใช้เพียงภายในรหัส Swift, แล้วคุณควรใช้Any
เพราะชนิดของคุณ ( Int
, Double
, Float
, String
, Array
และDictionary
) ไม่ได้เป็นวัตถุ
ถ้าคุณจะผ่านพจนานุกรมของคุณเพื่อการปฏิบัติ Objective-C ที่คาดหวังแล้วคุณควรใช้NSDictionary
AnyObject
เมื่อคุณimport Foundation
หรือimport UIKit
หรือimport Cocoa
มันเป็นไปได้ที่จะประกาศอาร์เรย์ของคุณเป็น[String: AnyObject]
แต่ในกรณีนี้สวิฟท์มีการรักษาของคุณInt
, Double
, Float
ตัวอักษรเป็นNSNumber
ของคุณString
ในฐานะNSString
ของคุณArray
ในฐานะNSArray
และพจนานุกรมของคุณเป็นNSDictionary
ทั้งหมดที่เป็นวัตถุ พจนานุกรมที่ใช้AnyObject
เป็นประเภทค่าสามารถแปลงเป็นได้NSDictionary
แต่ใช้Any
ไม่ได้
String
,Array
และDictionary
ไม่ได้เรียนสำหรับการใช้งานเหล่านี้ใด ๆ