var array = [AnyObject]()
struct Test {}
array.append(Test())
このコードを遊び場で書くと、次のエラーType 'Test' does not conform to protocol 'AnyObject' が表示されます
構造体は参照型ではなく値型であるため、失敗していると思います。しかし、このコードを実行すると
var array = [AnyObject]()
array.append(1)
array.append(2.0)
array.append("3")
動作しますが、これらはすべて値型でもありますが、この場合エラーは発生しません