Xcode 7.1 を使用して Swift 2.2 を開発するときに混乱する状況が 2 つあります。以下の例を参照してください。
まず、Foundation をインポートするときに、整数型 1 と文字列型 "hello" の 2 つの項目を含む testArray を宣言しました。私の質問は、なぜ Swift 型推論 testArray が Array(Any) ではなく Array(NSObject) になるのかということです。
import Foundation
let testArray = [1, "hello"]
print(testArray.dynamicType) //testArray is Array<NSObject>
次に、import Foundation を削除すると、以下のコードをコンパイルできません。エラー メッセージは「Type of expression is ambiguous without more content」です。私の質問は、なぜ Swift がこの状況で Array(Any) への型推論を行わないのかということです。助けを求める
let testArray2 = [2, "world"]
print(testArray2)
//can't compile, error message = "Type of expression is ambiguous without more content"