我有一些Objective-C遗留代码,它声明了类似的方法
- (void)doSomethingWithArgument:(ArgType)argument error:(NSError **)error
Run Code Online (Sandbox Code Playgroud)
Swift会自动将产生错误的Objective-C方法转换为根据Swift的本机错误处理功能引发错误的方法.
但在我的项目中描述的方法如下所示:
object.doSomething(argument: ArgType, error: NSErrorPointer)
Run Code Online (Sandbox Code Playgroud)
此外,当我尝试使用它们时,它会抛出运行时异常:
let errorPtr = NSErrorPointer()
object.doSomething(argumentValue, error: errorPtr)
Run Code Online (Sandbox Code Playgroud)
我还需要更多东西来将Objective-C"NSError**"方法转换为Swift"trows"方法吗?