如何解决为什么在使用 Kotlin Multiplatform 生成的 iOS 框架中属性名称有一个下划线下划线?
我有一个 Kotlin 多平台项目,我正在从 Kotlin 源代码生成一个 iOS 框架。
interface Presenter {
val validValues: List<Int>
...
}
但是,在生成的 iOS 框架的 .h 文件中,这是在末尾带有下划线“_”(下划线):
@property (readonly) NSArray<XYZInt *> *validValues_ __attribute__((swift_name("validValues_")));
解决方法
原来在我的源代码中,我有另一个接口用作数据源,它定义了相同的属性名称:
interface MyModelSpecificDataSource {
val validValues: List<Int>
...
}
一旦我将定义更改为不同的名称,下划线“_”就不再添加到末尾。
基于此,鉴于任何类都可以实现任何接口,我的假设是这样做是为了将一个定义与另一个定义区分开来,以免它们发生冲突。 Kotlin 团队的好消息!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。