【发布时间】: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