Avatar
Foo.Type.Type is Any.Type.Type はもちろん、 is Any.Type も成り立つみたいなので、メタタイプ一般を Any.Type で表せそうです。 1> protocol Animal {} 2. class Cat : Animal {} 3. class Dog : Animal {} 4. 5. let a: [Any.Type.Type] = [Cat.Type.self, Dog.Type.self] 6. let b: [Any.Type] = [Cat.Type.self, Dog.Type.self] a: [Any.Type.Type] = 2 values { [0] = Cat.Type [1] = Dog.Type } b: [Any.Type] = 2 values { [0] = Cat.Type [1] = Dog.Type }
12:32 AM
ってか、もはや Animal いらないですね。
12:32 AM
1> let a: [Any.Type.Type] = [Int.Type.self, String.Type.self] 2. let b: [Any.Type] = [Int.Type.self, String.Type.self] a: [Any.Type.Type] = 2 values { [0] = Int.Type [1] = String.Type } b: [Any.Type] = 2 values { [0] = Int.Type [1] = String.Type