Xamarin 绑定 SWIFT 库:当构造函数具有参数时,SWIFT_UNAVAILABLE

问题描述

我正在尝试将 SWIFT 库绑定到 Xamarin iOS。 源代码有类:

@objc(ClassA)
public class ClassA: NSObject 
{
<...>
public init(param1: StructA,param2: EnumStringA = .defaultValueA) {
<...>
}
}

但在 *-Swift.h 文件中它看起来像这样:

SWIFT_CLASS_NAMED("ClassA")
@interface ClassA: NSObject
- (nonnull instancetype)init SWIFT_UNAVAILABLE;
+ (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
@end

所以,当然,Sharpie 工具使界面为空,没有构造函数

[BaseType(typeof(NSObject))]
[disableDefaultCtor]
interface ClassA
{
}

我想可能是因为 StructA 和 EnumStringA 都没有暴露,但是 @objc 属性不适用于 structenum : String

如何使构造函数可见?

解决方法

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

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

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