作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
在 Swift 中我如何转换 CFStringRef[]
和 CFTypeRef[]
至 CMutablePointer< COpaquePointer >
?
我想调用CFDictionaryCreate
来自 swift 。我已经定义:
var keys: CFStringRef[] = [kCGImageSourceCreateThumbnailWithTransform, kCGImageSourceCreateThumbnailFromImageIfAbsent, kCGImageSourceThumbnailMaxPixelSize, kCGImageSourceCreateThumbnailFromImageAlways]
var values: CFTypeRef[] = [kCFBooleanTrue, kCFBooleanTrue, imageSize, kCFBooleanTrue]
CFDictionaryCreate(nil, keys, values, 4, &kCFTypeDictionaryKeyCallBacks, &kCFTypeDictionaryValueCallBacks)
但不知道如何在上述调用中指定键和值。
最佳答案
我可以通过为您创建不安全的指针让编译器停止提示,但我对 CFDictionary 的其余用法超出了我的理解范围。
import ImageIO
let dictionayKeyCB = UnsafePointer<CFDictionaryKeyCallBacks>()
let valueKeyCB = UnsafePointer<CFDictionaryValueCallBacks>()
let keys: [CFStringRef] = [kCGImageSourceCreateThumbnailWithTransform, kCGImageSourceCreateThumbnailFromImageIfAbsent, kCGImageSourceThumbnailMaxPixelSize, kCGImageSourceCreateThumbnailFromImageAlways]
let keysPointer = UnsafeMutablePointer<UnsafePointer<Void>>.alloc(1)
keysPointer.initialize(keys)
let values: [CFTypeRef] = [kCFBooleanTrue, kCFBooleanTrue, kCFBooleanTrue, kCFBooleanTrue]
let valuesPointer = UnsafeMutablePointer<UnsafePointer<Void>>.alloc(1)
valuesPointer.initialize(values)
CFDictionaryCreate(kCFAllocatorDefault, keysPointer, valuesPointer, 4, dictionayKeyCB, valueKeyCB)
关于swift - 在 Swift 中,如何将 CFStringRef[] 和 CFTypeRef[] 转换为 CMutablePointer< COpaquePointer >?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188101/
我正在将一些代码移植到 Swift,但我对如何处理指针感到困惑。 在 Swift 中,如何以 C 函数可以访问的方式创建一个空的内存块? C 源代码: UInt8* bytes = malloc( q
我有以下无法编译的 swift 代码: class CustomView: NSView { override func drawRect(dirtyRect: NSRect) { var
在 Swift 中我如何转换 CFStringRef[]和 CFTypeRef[]至 CMutablePointer ? 我想调用CFDictionaryCreate来自 swift 。我已经定义:
我是一名优秀的程序员,十分优秀!