AnyObject:它指的是類別的任何實例。這只在使用參考型別 (reference type) 時,才能派上用場。這就相等於 Objective-C 中等的 ‘id’。
如果妳的字典只會在 Swift 中使用,妳就應該使用 Any,因為妳的型別 (Int、Double、Float、String、Array、和 Dictionary) 不是物件 (object)。
而如果妳會將字典傳遞給需要 NSDictionary 的 Objective-C 程式碼,就應該使用AnyObject。
當妳需要無型別物件的靈活性時,又或是當妳使用橋接的 Objective-C方法及返回無型別結果的屬性時,妳就會使用 AnyObject。 AnyObject 可以用作任何類別、類別型別、或 class-only 協定的實例的具體型別。
AnyObject 協定的靈活度與 Objective-C 的 id 型別類似。因此,匯入的 Objective-C 型別經常使用 AnyObject,來作為屬性、方法參數、和返回值的型別。
在妳處理參考型別時使用 AnyObject,而在處理數值型別 (value type) 時使用 Any。