【问题标题】:Xamarin iOS Binding - Protocol - Cannot Create Instance of Abstract ClassXamarin iOS 绑定 - 协议 - 无法创建抽象类的实例
【发布时间】:2019-09-30 14:51:36
【问题描述】:

我使用 Sharpie 为 Zebra 扫描仪 SDK 生成了一些绑定代码。

Zebra Scanner SDK

处理完[Verify] 属性后,生成的代码构建良好。

SDK 的起点是调用 SDK 工厂的静态方法,然后该方法应返回 SDK Api 对象。 create SDK Api 方法绑定到我无法操作的本机调用。

SDK Api 对象是一个协议,Sharpie 生成的代码是一个抽象类。

因此,在尝试创建 SDK Api 对象时,按照 API 工厂的指示,我收到了运行时异常 Cannot create instance of an abstract class

我有点不知如何解决这个问题。任何想法或建议将不胜感激。

【问题讨论】:

    标签: xamarin.ios protocols abstract-class objective-sharpie


    【解决方案1】:

    你可以阅读这篇关于protocols-with-xamarinios的文档。

    任何类都可以通过简单地派生来提供注释数据 MKAnnotation,只要至少 Coordinate 属性是 实施。

    只需创建一个继承自 SDK Api objec 的新类,然后使用您那里的数据对其进行初始化。

    【讨论】:

    • 谢谢。这并不是那么简单,但您的建议使我找到了解决方案。自动生成代码无法弄清楚SDK的实现,我不得不导入和修改自动绑定代码。
    猜你喜欢
    • 2014-09-24
    • 2019-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-16
    相关资源
    最近更新 更多