gpt4 book ai didi

Swift:为什么 init?(length length: Int) NSMutableData 的初始化程序会失败?

转载 作者:搜寻专家 更新时间:2023-10-31 23:00:24 24 4
gpt4 key购买 nike

内存分配可能会失败,但我认为 Swift 不会处理这种情况。github 上的代码调用一个不可失败的初始化器

public convenience init?(length: Int) {
let memory = malloc(length)
self.init(bytes: memory, length: length, copy: false) { buffer, amount in
free(buffer)
}
}

编辑:代码来自 Swift 3 中的原生 Swift Foundation 框架。

最佳答案

来自 swift-users 列表:

“Swift 关于内存分配失败的政策是,如果无法处理固定大小的对象分配,则认为这是运行时失败。OTOH,可以分配任意大量变量的 API 应该是失败的。NSData 下降进入后一类。” -克里斯

关于Swift:为什么 init?(length length: Int) NSMutableData 的初始化程序会失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36621854/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com