Swift是对ObjectiveC进行的封装,而且目前许多的第三方SDK以及第三方开源库都使用的ObjectiveC语言进行编写,因此许多的时候都需要Swift调用ObjectiveC内的方法。
下面简单的介绍下如何实现Swift调用ObjectiveC内的方法。
手动创建桥文件:
创建一个
Swift工程方式一:点击
File->New->Project...。
方式二:快捷键
cmd+shift+N。- 方式三:在
Xcode欢迎页选择Creat a new Xcode project。 - 注意:在工程项目名字输入页,
Language选择Swift。
创建桥文件
- 点击
File->New->File...或者快捷键cmd+N。 - 选择
Header File,然后对其进行命名。
- 修改
Xcode配置:TARGETS->Bulid Settings搜索Brid。如图所示:
- 将创建的
Header File头文件路径在上图所示空格内进行赋值。 - 记得将绝对路径修改为相对路径(
$SRCROOT),如图所示 - 绝对路径图:
- 相对路径图:
- 点击
创建
ObjectiveC文件,或者导入需要的ObjectiveC第三方库。将需要的
ObjectiveC头文件导入到创建的Header File文件内。
这里是在创建完桥文件之后,新创建的
ObjectiveC文件,其内代码如下:
// .h
@interface OCFileClass : NSObject
- (void)sayHello;
- (NSDictionary *)sayDictionary:(NSDictionary *)dictionary;
@end
// .m
#import "OCFileClass.h"
@implementation OCFileClass
- (void)sayHello{
NSLog(@"Hello");
}
- (NSDictionary *)sayDictionary:(NSDictionary *)dictionary{
NSLog(@"%@",dictionary);
return @{@"aa":@"11",@"bb":@"22"};
}
@end
- 调用效果截图如下:
- 在编写调用代码的时候,如果不提示,可以先编译一下
cmd+B。
- 在编写调用代码的时候,如果不提示,可以先编译一下
系统自动创建桥文件
在创建完
Swift工程之后,如果没有创建桥文件,而采用快捷键或者点击File->New->File...方式创建ObjectiveC文件(工程内无任何其它ObjectiveC文件),此时系统会进行如下提示:
点击
Creat Bridging Header按钮,系统将会自动创建需要的桥文件(工程名称-Bridging-Header.h)SwiftMutualObjectiveC-Bridging-Header.h,并且会对Build Settings进行配置,配置效果,如图所示:
注意:
- 如果在手动创建
ObjectiveC文件之前,已经导入了ObjectiveC文件,系统将不会提示是否创建桥文件,这时候需要手动创建桥文件。例如将AFN文件整体导入到工程之内,再创建ObjectiveC文件之后就没有提示创建桥文件。

本文介绍了如何在Swift中调用Objective-C的方法,包括手动创建桥接文件的过程、配置Xcode项目的步骤,以及通过示例代码展示具体的调用方式。

被折叠的 条评论
为什么被折叠?



