1
 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")

動作しますが、これらはすべて値型でもありますが、この場合エラーは発生しませ

4

1 に答える 1

0

あなたの成功事例では、舞台裏で何らかの変換が行われています。

これを追加の最後に追加して、何が起こっているかを確認してください。

for item in array {
    print(item.dynamicType)
}
于 2016-05-31T13:04:05.797 に答える