OC工程调用Swift方法

本文详细介绍如何在Objective-C (OC) 工程中引入Swift代码,并实现两者的交互。步骤包括创建工程、生成桥接文件、配置产品模块名称、创建Swift类及在OC文件中调用Swift的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为防止出问题,建议以这样的方法做:
1.建一个OC工程命名为SwiftOC
这里写图片描述
2.新建一个swfit文件命名为Test.swift,会弹出提示,选择Create Bridging Header建立桥接文件,系统会建立“工程名-Bridging-Header.h”
这里写图片描述

这里写图片描述
3.配置工程
设置Defines Module 为Yes
这里写图片描述
设置Product Module Name 为当前工程名
这里写图片描述

此时系统会为工程创建一个“上面所填Product Module Name-Swift.h”的文件,此文件不可手动创建,必须使用系统创建的

4.创建一个Test2.swift
这里写图片描述

import Foundation
public class HH:NSObject
{

    public func show()
    {
     print("hello")
    }
}

5.在OC文件中引用swift


#import "ViewController.h"
//导入时需要手动打上,系统没有提示
#import "SwiftOC-Swift.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    HH *VC=[[HH alloc]init];
    [VC show];
}
- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

@end
要在Objective-C工程调用Swift库,需要执行以下步骤: 1. 创建Swift库和Objective-C工程 首先,您需要创建一个Swift库和一个Objective-C工程。在Xcode中,选择File > New > Project,然后选择Swift库和Objective-C工程分别创建它们。 2. 添加Swift库到Objective-C工程 在Objective-C工程中,选择File > Add Files to "工程名",然后选择Swift库的文件。确保选择“Copy items if needed”选项,以便将Swift库文件复制到Objective-C工程中。 3. 创建一个桥接文件 在Objective-C工程中,创建一个桥接文件,用于将Swift库导入Objective-C工程。选择File > New > File > Header File,然后将其命名为“工程-Bridging-Header.h”。 4. 导入Swift库到桥接文件中 打开桥接文件“工程-Bridging-Header.h”,添加以下代码: #import "Swift库名称-Swift.h" 这将导入Swift库到Objective-C工程中。 5. 调用Swift库中的方法 现在,您可以在Objective-C代码中调用Swift库中的方法了。首先,确保在需要调用Swift库的Objective-C文件中导入桥接头文件: #import "工程-Bridging-Header.h" 然后,您可以使用以下代码调用Swift库中的方法Swift库类名 *swiftObj = [[Swift库类名 alloc] init]; [swiftObj Swift方法名称]; 注意:Swift库中的类和方法必须使用@objc修饰符进行标记,以便它们可以在Objective-C代码中使用。例如: @objc class Swift库类名: NSObject { @objc func Swift方法名称() { // Swift方法代码 } }
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值