如何将以下ObjectiveC语句转换为SWIFT:
UInt32 *pixels;
pixels = (UInt32 *) calloc(height * width, sizeof(UInt32));
Run Code Online (Sandbox Code Playgroud)
我试着做以下事情:
var pixels: UInt32
pixels = (UInt32)calloc(height * width, sizeof(UInt32))
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
Int不可转换为UInt
并且(UInt32)Casting也不起作用.有人可以给我一些建议吗?我还在与SWIFT苦苦挣扎.谢谢.
这是在swift中分配该数组的一种更简单的方法:
var pixels = [UInt32](count: height * width, repeatedValue: 0)
Run Code Online (Sandbox Code Playgroud)
如果这就是你真正想做的事情.
但是,如果由于某种原因需要来自calloc的指针,请使用:
let pixels = calloc(UInt(height * width), UInt(sizeof(UInt32)))
Run Code Online (Sandbox Code Playgroud)
虽然类型pixels必须是一种类型UnsafeMutablePointer<T>,但你可以像处理其余代码中的swift指针一样处理它.
| 归档时间: |
|
| 查看次数: |
1964 次 |
| 最近记录: |