私はそれが定義されているSwiftのドキュメントを見つけようとしますが、できませんでした。Swiftでは、Arrayリテラルとして `[]`を使用できると定義されていますか?
私は次のようにSTH期待:初期として[]
の代わりArray
を使用することが可能である理由
typealias [] = Array
typealias [Element] = Array<Element>
typealias [AnyObject] = Array<AnyObject>
ので? ANSWER ON DEPENDING
EDIT:
私は私のカスタムPerson
クラスで同じことをしようが、それは仕事をdoesntの:
class Person: ArrayLiteralConvertible {
typealias Element
public init(arrayLiteral elements: Self.Element...)
}
let personNames: Person = ["John", "Mark", "Kris"]
[ArrayLiteralConvertible](http://nshipster.com/swift-literal-convertible/)? – tktsubota
私はこれが言語(コンパイラ)機能であると想像します。 [こちら](https://github.com/apple/swift/blob/master/lib/Parse/ParseType.cpp#L88-L90)を確認してください。 –