我想创建一个像这样的函数:
func getStride(_ type: T.Type) {
return MemoryLayout<type>.stride
}
Run Code Online (Sandbox Code Playgroud)
但这没用。
我希望能够这样称呼它:
getStride(Bool) //=> stride value
Run Code Online (Sandbox Code Playgroud)
如果不是那样,那么也许是这样:
getStride(Bool.self)
Run Code Online (Sandbox Code Playgroud)
想知道是否有可能这样。
您必须定义一个通用函数,然后才能MemoryLayout<T>
使用传递给该函数的相同类型进行引用:
func getStride<T>(_ type: T.Type) -> Int {
return MemoryLayout<T>.stride
}
print(getStride(Bool.self)) // 1
print(getStride(Double.self)) // 8
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
49 次 |
最近记录: |