扩展中的 Swift 便利构造函数如何映射到 Kotlin?

问题描述

如何从 Kotlin 调用这个 Swift 扩展便利构造函数

public extension UIView {
  convenience init(svgData: Data,parser: SVGParser? = nil,completion: ((SVGLayer) -> ())? = nil) {
  ...

根据 Interop documentation,我希望这应该可行:

create(svgData = data,parser = null,completion = null)

但是,它不会编译 (Unresolved reference: create),而且这种方法似乎会严重污染全局命名空间。另一方面,我真的看不到某个同伴对象的“规范”映射......

附言我已经读到静态扩展函数可以通过 Kotlin 中的伴随对象实现,但 UIView.Companion.create(...) 似乎也不起作用。

p.p.s.:正如有人指出 Kotlin 映射基于 ObjC(现已删除):也许这是相关的:Is it possible to call Swift convenience initializer in Objective-C(虽然没有帮助我弄清楚映射)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)