如何在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!) {
}
}
中添加这一行
#import "BDViewController.h"
也许它会解决你的问题。如果有帮助,请告诉我。
您需要创建一个 Swift 桥接头并在其中包含您的 Objective-C 文件。
// <ProjectName>-Bridging-Header.h
#import "BDViewController.h" // In which you have written LibraryPaymentStatusProtocol
然后你可以实现所需的方法为
func paymentStatus(_ message: String?) {
}
@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!) {
}
}
#import "BDViewController.h"
也许它会解决你的问题。如果有帮助,请告诉我。
您需要创建一个 Swift 桥接头并在其中包含您的 Objective-C 文件。
// <ProjectName>-Bridging-Header.h
#import "BDViewController.h" // In which you have written LibraryPaymentStatusProtocol
然后你可以实现所需的方法为
func paymentStatus(_ message: String?) {
}