如何在swiftclass中实现objective C协议?

How to implement objective C protocol in swift class?

@protocol LibraryPaymentStatusProtocol <NSObject>
@required
-(void)paymentStatus:(NSString*)message;
@optional
-(void)onError:(NSException *)exception;
-(void)tryAgain;
-(void)cancelTransaction;
@end

我想在我的 swift class 中实施此协议。该协议存在于库内的 BDViewController.h 文件中。我在我的 swift 项目中成功导入了库,但无法访问该协议。我还缺少什么?提前致谢。

在我的 Swift class 中,我只是想像下面的普通协议一样实现

class mainTabViewController: LibraryPaymentStatusProtocol {

// MARK : - Payment status protocol method
    func paymentStatus(_ message: String!) {
      
    }

}

bridging header

中添加这一行
#import "BDViewController.h"

也许它会解决你的问题。如果有帮助,请告诉我。

您需要创建一个 Swift 桥接头并在其中包含您的 Objective-C 文件。

//  <ProjectName>-Bridging-Header.h

#import "BDViewController.h" // In which you have written LibraryPaymentStatusProtocol

然后你可以实现所需的方法为

func paymentStatus(_ message: String?) {

}