美文网首页程序员
Swift和OC混合开发

Swift和OC混合开发

作者: 晴朗Nic | 来源:发表于2020-07-06 14:08 被阅读0次

在swift项目上的Swift和OC混合开发

1、Swift调OC方法:

(1)、直接新建OC项目会自动创建桥梁文件文件直接点击“Create Briding Header”按钮如下图所示:
1.jpg
(2)、这个桥梁文件功能是Swift调用OC代码时候,就要将OC头文件导入如图所示:
2.jpg
(3)、开始调用OC方法。
let ocMethodTool = OCMethodTool()
ocMethodTool.methodTool("Swift调OC的方法")

2、OC调Swift方法:

(1)、在 targets -> Build Settings -> Packaging 中设置Defines Module 为YES如图:
5.jpg
(2)、在要调用Swift的方法的类中引入import "工程名-Swift.h",引入这个类就引入了所有的Swift类,不知道具体的工程名字可以在“targets ->Build Setting”->“Product Module Name”中找到工程名如下:
6.jpg
(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

对应的Demo:Swift和OCDemo

相关文章

网友评论

    本文标题:Swift和OC混合开发

    本文链接:https://www.haomeiwen.com/subject/gvjwqktx.html