【发布时间】:2021-11-12 00:10:01
【问题描述】:
我想要一个函数,该函数将返回一个类型,然后再使用该类型。
例如:
private func getType() -> Any {
switch self.someEnum {
case .first:
return UInt8.self
case .second:
return UInt16.self
case .third:
return UInt32.self
}
}
然后是要使用的结果
let returnType = self.getType()
MemoryLayout<returnType>.size
当我使用这个时,我得到了这个错误“在范围内找不到类型'returnType'”。
【问题讨论】:
-
您想在任意上下文中使用类型变量,还是只是调用
MemoryLayout? -
专门针对MemoryLayout,所以我只接受下面的答案。
-
有一种方法可以使用 Swift 元数据。如果你愿意,我可以重新打开这个问题并以这种方式回答。