Tag: unsafemutablepointer

将代码从Objective-C转换为Swift后,testing用例失败

我正在做Swift样式的一些按位操作,这些代码最初是用Objective-C / C编写的。 我使用UnsafeMutablePointer来声明内存地址的开始索引,并使用UnsafeMutableBufferPointer来访问范围内的元素。 你可以在这里访问原始的Objective-C文件。 public init(size: Int) { self.size = size self.bitsLength = (size + 31) / 32 self.startIdx = UnsafeMutablePointer<Int32>.alloc(bitsLength * sizeof(Int32)) self.bits = UnsafeMutableBufferPointer(start: startIdx, count: bitsLength) } /** * @param from first bit to check * @return index of first bit that is set, starting from the given index, or size […]

如何将数组转换为UnsafeMutablePointer <UnsafeRawPointer?> Swift 3.0?

这是我以前版本的Swift中可用的代码: let imageOptionsDictKeys = [ kCVPixelBufferPixelFormatTypeKey, kCVPixelBufferWidthKey, kCVPixelBufferHeightKey, kCVPixelBufferOpenGLESCompatibilityKey, kCVPixelBufferIOSurfacePropertiesKey] let imageOptionsDictValues = [ cvPixelFormatType, frameW, frameH, boolYES] var keyCallbacks = kCFTypeDictionaryKeyCallBacks var valueCallbacks = kCFTypeDictionaryValueCallBacks let imageOptions = CFDictionaryCreate(kCFAllocatorDefault, UnsafeMutablePointer(imageOptionsDictKeys), UnsafeMutablePointer(imageOptionsDictValues), 4, &keyCallbacks, &valueCallbacks) 在Swift 3.0中进行更改后,我必须将我的键和值数组转换为UnsafeMutablePointer<UnsafeRawPointer?>来创buildCFDictionary。 这条路: let imageOptionsDictKeysPointer = UnsafeMutablePointer<UnsafeRawPointer?>.allocate(capacity: 1) imageOptionsDictKeysPointer.initialize(to: imageOptionsDictKeys) 给出一个错误访问错误。 阅读文档后,我试图编译这个代码: let imageOptionsDictKeys = [kCVPixelBufferPixelFormatTypeKey, kCVPixelBufferWidthKey, kCVPixelBufferHeightKey, kCVPixelBufferOpenGLESCompatibilityKey] let […]