从swift闭包调用C库中的数组指针

从swift闭包调用C库中的数组指针,swift,callback,nsarray,closures,Swift,Callback,Nsarray,Closures,我找到的信息很接近,但回答这个问题不够快,我只是把头撞在墙上 我有一个基于C的库,调用Objective-C如下: [access execute:@"string" completion:^(NSArray* results) { [self process:results]; [access disconnect]; }]; 我关注的是结果的内容,这是一个无法提前预测的可变多维(数组数组)数据块 我试过几件事,包括 acces

我找到的信息很接近,但回答这个问题不够快,我只是把头撞在墙上

我有一个基于C的库,调用Objective-C如下:

[access execute:@"string" completion:^(NSArray* results) {
            [self process:results];
            [access disconnect];
        }];
我关注的是结果的内容,这是一个无法提前预测的可变多维(数组数组)数据块

我试过几件事,包括

access.execute("string") { (sqlArray:NSArray) -> Void in
            NSLog("something")
       }
但是得到一组错误:

  • 匿名闭包参数不能在具有显式参数的闭包中使用
  • 无法将类型为“(NSArray)->Void”的值转换为预期的参数类型“([AnyObject]!)->Void)!”
我想我也需要一个inout,因为我需要NSArray*的内容。我错过了什么?桥接头已经设置好,另一个只传递Bool的调用非常有效


谢谢

您是否尝试将该参数作为Any?首先,将
NSArray
更改为
[AnyObject]来处理第二个错误。好的,这很有帮助!client.execute(“test”,completion:{(sqlArray:[AnyObject]!)->Void in NSLog(“hi”)})可以工作,但是我可以将sqlArray视为一个数组吗?之后您还看到第一个错误吗?
sqlArray
是一个
AnyObject
的数组。你需要一些演员才能看到里面的内容。在
sqlArray
中可以有哪些内容?