Objective-C 调用 Swift 并设置委托:完整指南
要在 Objective-C 中调用 Swift 并设置其委托,需要完成以下步骤:
- 创建一个 Swift 类,并将其继承自 NSObject。在该类中定义需要的功能,并创建一个委托协议。
import Foundation
@objc protocol MyDelegate {
func didReceiveData(data: String)
}
@objc class MySwiftClass: NSObject {
weak var delegate: MyDelegate?
func sendData(data: String) {
delegate?.didReceiveData(data: data)
}
}
-
在 Swift 类中,使用
@objc关键字来标记委托协议和类。这样可以使它们在 Objective-C 中可见。 -
在 Objective-C 的文件中,导入 Swift 生成的头文件,并遵循委托协议。
#import "YourProjectName-Swift.h"
@interface YourObjectiveCClass () <MyDelegate>
@property (nonatomic, strong) MySwiftClass *swiftObject;
@end
@implementation YourObjectiveCClass
- (void)viewDidLoad {
[super viewDidLoad];
self.swiftObject = [[MySwiftClass alloc] init];
self.swiftObject.delegate = self;
}
- (void)didReceiveData:(NSString *)data {
// 处理接收到的数据
}
@end
- 通过创建一个 Swift 对象并将其委托属性设置为 Objective-C 类的实例,来完成委托设置。这样,当 Swift 类中的相关事件发生时,Objective-C 类就可以接收到委托回调。
请注意,为了使 Objective-C 类能够被 Swift 访问,你需要在 Bridging Header 文件中导入 Objective-C 的头文件。
原文地址: https://www.cveoy.top/t/topic/qnWM 著作权归作者所有。请勿转载和采集!