我试图从swift调用Objective-C方法。方法签名是:
lib-api
我还无法传入布尔指针。以下是我到目前为止的情况:
-(BOOL)getPassThroughSync:(BOOL *)enabled error:(NSError **)error;
由于参数列表无效,因此无法编译。
同样,我想打电话
var passThrough: Bool?
if scanner.getPassThroughSync(&passThrough, error: nil) {
}
需要一个int指针。
我错过了什么?
答案 0 :(得分:4)
最后,在其他答案的评论的帮助下,以下工作:
var passThrough: ObjCBool = false
if scanner.getPassThroughSync(&passThrough, error: nil) {
cell.detailTextLabel?.text = passThrough ? "Yes" : "No"
}
同样,
var current: Int32 = 0
if scanner.getUSBChargeCurrent(¤t, error: nil) {
cell.detailTextLabel?.text = String(current) + "mA"
}
答案 1 :(得分:0)
我认为您正在寻找的答案位于this Apple document的指针部分。基本上,您必须声明指针类型:Type *
映射到UnsafeMutablePointer<Type>
。
要访问存储在指针中的值,请使用其memory
属性。
有关UnsafeMutablePointer
的更多详情,请参阅this document。