1

与えられた

class MyClass {
    static let Anything = 1

    func wasCalled<T:AnyObject where T:Equatable>(values: [T]) { }
}

なぜこれがコンパイルされるのですか:

MyClass().wasCalled([1, "a string"])

しかし、これにより、「タイプ '(NSArray)' の引数リストで 'wasCalled' を呼び出すことはできません」が生成されます。

MyClass().wasCalled([MyClass.Anything, "a string"])

同様に

let n = 2
MyClass().wasCalled([n, "a string"])

使用: Xcode 7 ベータ 6、Swift 2

4

0 に答える 0