在swift项目上的Swift和OC混合开发
1、Swift调OC方法:
(1)、直接新建OC项目会自动创建桥梁文件文件直接点击“Create Briding Header”按钮如下图所示:
(2)、这个桥梁文件功能是Swift调用OC代码时候,就要将OC头文件导入如图所示:
(3)、开始调用OC方法。
let ocMethodTool = OCMethodTool()
ocMethodTool.methodTool("Swift调OC的方法")
2、OC调Swift方法:
(1)、在 targets -> Build Settings -> Packaging 中设置Defines Module 为YES如图:
(2)、在要调用Swift的方法的类中引入import "工程名-Swift.h",引入这个类就引入了所有的Swift类,不知道具体的工程名字可以在“targets ->Build Setting”->“Product Module Name”中找到工程名如下:
(3)、调用Swift方法要在Swift的方法前面加“@objc”
import UIKit
class SwiftMethod: NSObject {
@objc func swiftTakeAction(name: String)
{
print(name)
}
}
(4)、调用Swift方法
#import "OCPageViewController.h"
#import "OCAndSwiftHybridDevelopment-Swift.h"
@interface OCPageViewController ()
@end
@implementation OCPageViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
// Do any additional setup after loading the view.
}
- (void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event
{
SwiftMethod *swiftObjc = [[SwiftMethod alloc] init];
[swiftObjc swiftTakeActionWithName:@"OC调Swift方法"];
}
@end