Bạn sử dụng Any
hay AnyObject
phụ thuộc vào mục đích sử dụng của bạn:
Nếu từ điển của bạn sẽ chỉ được sử dụng trong vòng Swift mã, sau đó bạn nên sử dụng Any
vì các loại của bạn ( Int
, Double
, Float
, String
, Array
, và Dictionary
) không phải là đối tượng.
Nếu bạn sẽ chuyển từ điển của mình sang các thói quen Objective-C mà mong đợi một NSDictionary
, thì bạn nên sử dụng AnyObject
.
Khi bạn import Foundation
hay import UIKit
hay import Cocoa
, người ta có thể khai báo mảng của bạn như [String: AnyObject]
, nhưng trong trường hợp này Swift được xử của bạn Int
, Double
, Float
literals như NSNumber
, bạn String
s như NSString
, bạn Array
như là NSArray
, và từ điển của bạn như NSDictionary
, tất cả trong số đó là các đối tượng. Từ điển sử dụng AnyObject
làm kiểu giá trị có thể chuyển đổi thành NSDictionary
, nhưng từ điển sử dụng Any
thì không.
String
,Array
vàDictionary
không phải là các lớp, cho những sử dụng Bất kỳ.