Swift_学习笔记_调用ObjectiveC方法
来源:互联网 发布:知乎 一人之下漫画 编辑:程序博客网 时间:2024/05/16 04:19
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
文件之后就没有提示创建桥文件。
阅读全文
0 0
- Swift_学习笔记_调用ObjectiveC方法
- Swift_学习笔记_基础知识
- Swift_学习笔记_类
- Swift_学习笔记_继承
- Swift_学习笔记_协议
- Swift_学习笔记_泛型
- Swift_学习笔记_字符串、数组、字典
- Swift_学习笔记_自动引用计数
- Swift_学习笔记_类型转换
- Swift_学习笔记_运算符重载
- Swift_学习笔记_闭包
- Swift_学习笔记_控制语句和函数
- Swift_学习笔记_枚举和结构体
- ObjectiveC 中同步调用WebService的方法
- ios反射调用类的方法(objectiveC)
- ios反射调用类的方法(objectiveC)
- ios反射调用类的方法(objectiveC)
- ios反射调用类的方法(objectiveC)
- Spring的两种代理方式:JDK动态代理和CGLIB动态代理
- 黑客入门到放弃---自学清单
- 【CUGBACM15级BC第30场 B】hdu 5175 Misaki's Kiss again
- GIMP 快速入门(1)
- spring-mybatis多表查询
- Swift_学习笔记_调用ObjectiveC方法
- 图的遍历
- NYOJ 26 孪生素数问题
- Buttomsheetdialog的简单实用
- 两个有序数组的中位数
- 485. Max Consecutive Ones
- 排序-简单选择
- main 函数的标准原型
- mock.js的真实数据模拟