Swift和Objective-C混编
2016-04-01 本文已影响246人
LuisX

Swift中调用Objective-C文件
1.新建Swift文件SwiftViewController.swift

2.因为工程为OC编写,第一次创建会提示需要创建"桥接文件"

3.此时的工程会有SwiftViewController.swift文件和HelloWorld-Bridging-Header.h桥接文件

4.检查桥接文件HelloWorld-Bridging-Header.h是否正确

5.在桥接文件HelloWorld-Bridging-Header.h中引入要调用的Objective-C文件ViewController.h

6.在SwiftViewController.swift中调用Objective-C代码

Objective-C调用Swift文件
1.修改Build Settings -> Packaging -> Defines Module 为YES

2.在ViewController.m中 引入隐藏文件HelloWorld-swift.h后可调用Swift文件
命名方式: 工程名-swift.h

注意:
1.Xcode7.3 需要编译后才有代码提示(command + B)
2.若调用swift文件没有代码提示,需要手写.m文件中,才能有代码提示(可能是编译器bug)