是否可以在typealias
或structs
中使用classes
?例如:
struct Foo {
typealias type = Int
}
编译时不会出错。但是,当我使用此结构时:
let f = new Foo
let bar: f.type
这给了我一个:
使用未声明的类型“f”
如何检索此存储类型?
这对于泛型结构很有用,例如:
struct TypeHolder<T> {
typealias type = T
}
let type1 = new TypeHolder<Int>
let fooint: type1.type
最佳答案
是的,你能做到。
你犯了两个小错误:
不要使用new
。
使用类名而不是实例访问类型。
例子:
struct Foo {
typealias type = Int
}
let f = Foo()
let bar: Foo.type = 5
关于generics - 带结构的Typealias,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24070107/