如何使用'&';Swift中的Objective-C方法

如何使用'&';Swift中的Objective-C方法,swift,objective-c,swift5,Swift,Objective C,Swift5,我有一个Objective-C库(我的项目是Swift source)。 我正在尝试使用图书馆的方法 有一种方法如下 - (int)recognize:(NSDictionary **)dictionaryResult; 在ObjC中,只需将其称为 NSDictionary *resultDictionary = [[NSDictionary alloc] init]; nRet = [crControl recognize:&resultDictionary]; 然而,在Swift

我有一个Objective-C库(我的项目是Swift source)。 我正在尝试使用图书馆的方法

有一种方法如下

- (int)recognize:(NSDictionary **)dictionaryResult;
在ObjC中,只需将其称为

NSDictionary *resultDictionary = [[NSDictionary alloc] init];
nRet = [crControl recognize:&resultDictionary];
然而,在Swift中,当我调用下面这样的方法时,会发生错误

var dictionary = NSDictionary.init()
nRet = crControl.recognize(&dictionary)
==================

错误消息:

无法将“AutoReleasingUnsafemtablePointer”类型的值转换为预期的参数类型“AutoReleasingUnsafemtablePointer”


如何将带有“&”的空字典传递给Swift中的ObjC方法?

对Swift的转换似乎已将参数类型转换为:

AutoreleasingUnsafeMutablePointer<NSDictionary?>

我认为
NSDictionary*resultDictionary就足够了,不需要初始化它。我认为
var dictionary:NSDictionary?=nil
就足够了,不需要初始化它。@Cy-4AH问题中的Objective-C代码确实初始化了它,我不知道
Recognite
是否能与
NULL
s一起工作。@Sweeper是的,当然,我们不知道
Recognite
方法的确切实现。我的评论更多是针对问题作者的。
var dictionary: NSDictionary? = .init()