如何调用以下功能:
func AXUIElementCopyAttributeNames(element: AXUIElement!, names: UnsafePointer<Unmanaged<CFArray>?>) -> AXError
我有一个AXUIElement(Ref)(它们是typealias&#39; ed),我想调用该函数来获取该元素可用的辅助功能属性名称。
答案 0 :(得分:4)
我有点猜测(因为我没有使用辅助功能的经验 函数),但从函数声明它应该像这样工作:
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 ...
}