如何调用以下函数:
func AXUIElementCopyAttributeNames(element: AXUIElement!, names: UnsafePointer<Unmanaged<CFArray>?>) -> AXError
我有一个AXUIElement(Ref) (它们是类型‘’ed的),我想调用这个函数来获得该元素可用的可访问性属性名。
发布于 2014-08-04 17:42:09
我有点猜测(因为我没有使用可访问性函数的经验),但是从函数声明来看,它应该是这样工作的:
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 ...
}https://stackoverflow.com/questions/25124002
复制相似问题