当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift UnsafeRawBufferPointer init(rebasing:)用法及代码示例


用法一

初始化器

init(rebasing:)

在与给定原始缓冲区切片相同的内存上创建原始缓冲区,索引重新设置为零。

声明

init(rebasing slice: Slice<UnsafeRawBufferPointer>)

参数

slice

要变基的原始缓冲区切片。

详述

新缓冲区表示与切片相同的内存区域,但其索引从零开始,而不是在原始缓冲区中切片的开头。以下代码创建 slice ,一个覆盖现有缓冲区实例的一部分的切片,然后将其变基为新的 rebased 缓冲区。


let slice = buffer[n...]
let rebased = UnsafeRawBufferPointer(rebasing: slice)

执行此代码后,以下情况属实:

  • rebased.startIndex == 0

  • rebased[0] == slice[n]

  • rebased[0] == buffer[n]

  • rebased.count == slice.count

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

用法二

初始化器

init(rebasing:)

在与给定原始缓冲区切片相同的内存上创建原始缓冲区,索引重新设置为零。

声明

init(rebasing slice: Slice<UnsafeMutableRawBufferPointer>)

参数

slice

要变基的原始缓冲区切片。

详述

新缓冲区表示与切片相同的内存区域,但其索引从零开始,而不是在原始缓冲区中切片的开头。以下代码创建 slice ,一个覆盖现有缓冲区实例的一部分的切片,然后将其变基为新的 rebased 缓冲区。


let slice = buffer[n...]
let rebased = UnsafeRawBufferPointer(rebasing: slice)

执行此代码后,以下情况属实:

  • rebased.startIndex == 0

  • rebased[0] == slice[n]

  • rebased[0] == buffer[n]

  • rebased.count == slice.count

可用版本

iOS 8.0+, iPadOS 8.0+, macOS 10.10+, Mac Catalyst 13.0+, tvOS 9.0+, watchOS 2.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 UnsafeRawBufferPointer init(rebasing:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。