是否可以在typealiasstructs中使用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/

10-11 23:08