当在项目中同时使用swift 和 object-c 进行编程的时候,需要做一些操作。
1.swift 调用 oc
在Swfit代码中添加OC文件的时候,需要依赖一个bridging header文件,Xcode会在你新建一个OC文件的时候自动帮你创建(项目是使用Swift语言创建的),点击Creat Bridging Header,Xocde就会在新建OC文件的同时帮我们新建一个 xxx-Bridging-Header.h
文件,xxx是你的项目名称(Product Module),然后我们得编辑这个文件才能让Swfit代码调用OC代码
20160322150034060.png
在项目的xxx-Bridging-Header.h文件里,添加需要在Swift里调用的OC文件,然后就可以在Swfit代码中调用了
20160322150044013.png在项目的 Build Settings 选项里,要确保Swift Compiler选项里有这个Bridging Header文件的设置,路径必须指向文件本身,而不是目录。
20160322150100545.png在swift文件中,
20160322150108617.pngoc调用swift的方法:
1、首先设置一下Packing
进入TARGETS ->Build Settings -> Packaging 中
设置Defines Module为YES
设置 Product Module Name (这个也可以不设置,直接使用默认就行)
如图:
511196-20160929172322188-1683032430.png2、设置完之后,在需要引用的oc文件头部 import一下,格式为: #import "工程名-Swift.h"
比如:#import "OrderSystem-Swift.h"
2.在oc中调用swift
当在OC里调用Swift中的代码时,需要依赖一个xcode自动生成的头文件,这个自动生成的头文件定义了项目中所有的Swift文件,这个头文件的命名为 “xxx-Swift.h” ,xxx为项目的名称,此外就不需要再做任何事情了,你只需要在OC代码里导入这么一个文件,就可以跟没事一样拿任意一个Swift中的代码用了
20160322150114124.png
网友评论