从 Objective-C 到 Swift 的安全可选桥接模式或习语

Pattern or idiom for safe optional bridging from Objective-C to Swift

提问人:noamtm 提问时间:8/18/2019 更新时间:8/18/2019 访问量:57

问:

当我从 Swift 调用第三方 Objective-C 代码时,并且该代码没有用 / 注释,它被导入到 Swift 中作为 Implicitly Unwrapped Optional。这意味着,如果我不格外小心,如果我的代码只是假设它不是,我很容易导致崩溃 - 编译器甚至没有发出警告。_Nullable_Nonnullnil

在这种情况下,是否有一种模式或习语会有所帮助?

objective-c swift null 选项类型

评论

0赞 Alexander 8/18/2019
我不确定这是否是最好的方法,但我会围绕所有 API 制作包装器,执行诸如删除 IUO、与 Swift 通用货币类型(而不是 、 而不是 等)之间的转换、使用 Swift 抛出错误而不是参数等。StringNSStringArray<T>NSArrayNSError **
0赞 noamtm 8/18/2019
嗯,是的,这是一种选择,但就我而言,这有点矫枉过正。

答: 暂无答案