swift - 为什么 Data(bytes:count:) 需要一个可变变量作为其指针的源?
问题描述
鉴于此代码示例,
var int = 1
let intData = Data(bytes: &int, count: MemoryLayout.size(ofValue: Int.self))
我不明白为什么初始化程序不能接受用 声明的不可变变量let
,即
let int = 1
let intData = Data(bytes: &int, count: MemoryLayout.size(ofValue: int)) // Cannot pass immutable value as inout argument: 'int' is a 'let' constant
我不明白,因为我对初始化程序的期望是从指针复制数据,而不是将其用作可变缓冲区。
提供的文件特别说,
init(bytes: UnsafeRawPointer, count: Int)
Creates data with copied memory content.
有人可以解释一下吗?
解决方案
推荐阅读
- c# - 如何使用 ASP.NET MVC 在“编辑产品”上加载图像?
- c++ - Search a file and return path to it in c++ linux
- bash - Search duplicates in a column, add value
- java - How to deal with nullpointerexception in button view?
- sql - How to make the latest article always go to the top in noticeboard
- .net - Strange "A positional parameter cannot be found" with Rename-Item
- c++ - ofstream, duplicated values
- reactjs - 通过我的数组获取 [object Object] 映射
- java - 在 Java 中解析 XML 并操作提取的数据
- javascript - 如何动态地将 JSON 键标识符表示为 JSON 对象