【问题标题】:Use swift classes in Objective-c在 Objective-c 中使用 swift 类
【发布时间】:2021-09-26 20:52:23
【问题描述】:

我正在使用 obj-C 应用程序,我需要集成快速协议的 Clover Payment。我已经安装了三叶草豆荚 https://github.com/clover/remote-pay-ios

如何在 obj-C 中使用 swift 协议?我已经这样做了:

在 obj-C .h 文件中

    @class ICloverConnector;
    @interface ViewPayment: UIViewController
    {
         ICloverConnector *cc;
    } 

在 obj-C .m 文件中

    #import "ProjectName-Swift.h"

在 ICloverConnector.swift 中

public protocol ICloverConnector : AnyObject {
    
     func addCloverConnectorListener(_ cloverConnectorListener:ICloverConnectorListener) -> Void
    
    
    func initializeConnection() -> Void
    
}

如何从 Obj-C 类中调用这两个函数?

【问题讨论】:

  • 您的问题中没有 Swift 类。你已经展示了一个 Swift protocol。如果你想在 Objective-C 中使用它,请将其标记为 @objc
  • 在此之前添加@objc 会出错:方法无法标记为“@objc”,因为在Objective-C 中无法表示参数的类型。
  • 你需要创建 obj-c 包装器
  • @Cy-4AH 请让我知道我们该怎么做
  • @Sweeper 在显示错误之前添加 objc 为“方法无法标记为 objc,因为在 Objective-C 中无法表示参数的类型

标签: ios swift objective-c xcode clover-payment


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 2021-11-26
相关资源
最近更新 更多