OC项目中使用Swift
来源:互联网 发布:淘宝上下架黄金时间 编辑:程序博客网 时间:2024/05/18 00:59
我新建了一个演示的OC工程,当然你可以使用你已经存在的OC的工程。如果我们想要在OC工程中使用Swift的代码,Swift的代码默认是使用module管理的,同样这里我们也需要把我们的Swift代码作为一个module暴露给我们的OC工程,修改下面的配置:
上面的修改了一个配置项,有一个Product Module Name在后面会使用。
在工程里面点击File/New/File…,选择iOS/Source/Cocoa Touch Class,按照如下填写创建一个新的文件:
上图中的Subclass of一定要设置为NSObject或其子类,否则OC工程将不会找到该类。
点击确认后会选择保存路径,点击Create,出现如下界面:
这个界面是询问是否创建桥接的头文件,这个文件在Swift调用OC代码的时候比较管用,但是在OC中调用Swift的时候我发现没有什么卵用。
选择Don’t Create按钮。
在Test.swift中添加如下的代码(解释都在注释里面了):
import UIKit/*
如果Swift类想要被OC发现,必须继承自NSObject并且使用public标记,并且该类中想要被OC访问的方法也必须使用public标记,具体知识可以去看Swift的访问控制
原因:Swift的代码对于OC来说是作为一个module存在的
当然全局的Swift函数,我还没发现怎么在OC中访问,如果哪位清楚还请告诉一下,谢谢!
*/
publicclassTest: NSObject {
publicfunclog() {
print("这是Swift的方法")
}}
publicfuncglobalLog() {
print("这是Swift全局的log方法")
}
我们在我们想要调用Swift类的方法里面引入头文件:”text-Swift.h”,其中Product Module Name替换成在上面配置项中显示的内容,例如:
#import"ViewController.h"//
引入Swift头文件#import"OCAndSwift-Swift.h"
@implementationViewController
- (void)viewDidLoad {
[superviewDidLoad];/
/ 使用Swift的类
Test *test = [[Test alloc] init];
[test log];
}
@end
这样我们就能够在OC中使用Swift的代码了,最后还要说明一点:”Product Module Name-Swift.h”(例子中的是OCAndSwift-Swift.h),是由编译器自动生成的,如果import后没有提示,编译一下。并且只有在工程中包含至少一个Swift文件的时候,才会自动生成这个文件,所以如果工程中如果没有Swift文件的时候,就算在配置中设置对了,import该文件也会报错。
- OC项目中使用Swift
- OC项目中使用Swift
- 在Swift项目中使用OC,在OC项目中使用Swift
- 在Swift项目中使用OC,在OC项目中使用Swift
- OC与Swift混编之Swift中使用OC
- 项目中swift与OC混编
- swift项目中,OC和swift文件相互调用
- 在Swift工程中使用OC
- 在swift中使用oc文件
- Swift中如何使用OC中的类
- iOS开发——在 OC 项目中使用基于 Swift 的 CocoaPods 库
- swift - OC与swift3.0混编的项目中使用AFN
- 如何在OC中使用Swift如何在Swift中使用OC
- 如何在OC中使用Swift如何在Swift中使用OC
- 在oc项目中添加swift文件,并设置oc-swift混编
- 在oc项目中添加swift文件,并设置oc-swift混编
- swift中使用OC的方法;在OC中调用swift方法
- 如何在一个项目中是OC和Swift开发
- 在Linux环境下模拟实现sleep函数
- 粗糙滥造一个下拉框
- java 实现视频转换通用工具类:视频相互转换-总方法及Mencoder
- HttpServletRequest和HttpServletResponse详解
- Python: PS 图像调整--明度调整
- OC项目中使用Swift
- node.js连接mysql数据库
- SpringMVC Redirect 跳转后保存Model中的数据
- Swift 使用WKWebview过程中遇到的问题汇总
- RelativeLayout 布局居中以及一些基本布局
- inline-block间隙问题内联元素与块级元素
- linux操作命令
- eclipse上创建maven项目并tomcat发布
- git的使用教程 简略版