gpt4 book ai didi

swift - 如何处理 UnsafePointer?>

转载 作者:搜寻专家 更新时间:2023-11-01 06:24:34 25 4
gpt4 key购买 nike

如何调用以下函数:

func AXUIElementCopyAttributeNames(element: AXUIElement!, names: UnsafePointer<Unmanaged<CFArray>?>) -> AXError

我有一个 AXUIElement(Ref)(它们是类型别名),我想调用该函数来获取该元素可用的辅助功能属性名称。

最佳答案

我有点猜测(因为我没有使用辅助功能的经验函数),但从函数声明来看,它应该像这样工作:

let element: AXUIElementRef = ...

var ptr : Unmanaged<CFArray>? = nil
let error = AXUIElementCopyAttributeNames(element, &ptr)
if error == AXError(kAXErrorSuccess) {
let names = ptr!.takeRetainedValue() // gives a CFArray
// ...
}

Swift 3 更新(未测试):

let element: AXUIElement = ...

var cfArray: CFArray?
let error = AXUIElementCopyAttributeNames(element, &cfArray)
if error == .success, let names = cfArray as? [String] {
// names is [String] array ...
}

关于swift - 如何处理 UnsafePointer<Unmanaged<CFArray>?>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25124002/

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