快速语法。 “ withUnsafeMutableBytes <R>(_...)”中的<R>是什么

时间:2019-11-20 13:35:05

标签: swift

我对Swift的广泛语法感到不知所措,尤其是闭包。

有人可以好好解析“ withUnsafeMutableBytes(_:(UnsafeMutableRawBufferPointer)抛出-> R)重新抛出-> R”的部分。

有什么方法可以将此表示为函数?

1 个答案:

答案 0 :(得分:2)

withUnsafeMutableBytes<R>(_: (UnsafeMutableRawBufferPointer) throws -> R) rethrows -> R表示:

  • 函数withUnsafeMutableBytesthrow到某个通用类型UnsafeMutableRawBufferPointer采用函数/关闭(可能会发生R错误)。 R取决于呼叫者。
  • 函数withUnsafeMutableBytes返回与函数返回的泛型类型R相同的值。如果它是由闭包引发的,则可能rethrow错误。

因此,基本上,通用参数R只是说一种返回方式withUnsafeMutableBytes和它所用的closure相同的一种方式,没有硬编码。