一、OC中引入Swift
最近在研究swift時候,需要實現(xiàn)OC與Swift混編,因此總結(jié)了以下幾個步驟實現(xiàn)OC中引入Swift。
下面說一下詳細(xì)的步驟:
1.創(chuàng)建一個 ''aaaa'' 的 OC 的工程。
2.創(chuàng)建一swift文件。

創(chuàng)建一個swift文件
3.創(chuàng)建一個名字為"LearnSwift"的swift文件。

LearnSwift.png
4.在創(chuàng)建的過程中會顯示如下:

是否添加橋接文件
5.點擊"Create Bridging Header",這時就會創(chuàng)建成功。(ps:一般情況下,要是OC中引入Swift的話不用創(chuàng)建這個橋接文件也沒事)。
6.為了引入swift文件中的東西,我先在LearnSwift中創(chuàng)建如下兩個類:
class LearnSwift : NSObject {
func logsth(strToLog:NSString) {
NSLog("年輕人我跟你說,想當(dāng)年我裝逼的時候你還是一滴液體");
}
}
public class Test: NSObject {
public func log() {
print("這是Swift的方法")
}
}
7.我在"ViewController.m"里面,引入如下頭文件。
#import "aaaa-Swift.h"(PS:格式必須正確#import "工程名-Swift.h",我創(chuàng)建的''aaaa''工程)。
8.在 我的工程 -> Buid Settings -> Packaging ->Dedines Module (改為" YES ")
效果如下:

設(shè)置
9.在@implementation之前(或者在@interface之前),引用LearnSwift 里面 的類時.(PS:一般引入類是繼承的NSObject)
LearnSwift *learnSwift;
Test *test;
10.在-(void)viewDidLoad { }方法里面:
- (void)viewDidLoad {
[super viewDidLoad];
learnSwift = [[LearnSwift alloc]init];
[learnSwift logsth:@"asaad"];
NSLog(@"**************************************\n");
test = [[Test alloc]init];
[test log];
NSLog(@"**************************************\n");
}
打印結(jié)果如下:

打印結(jié)果
11.在ViewControlle.m文件里面添加如下:

總體
二、Swift中引入OC
直接在橋文件里面寫上需要引入的類名的 .h文件即可,如下:

Swift引入OC
參考鏈接 :
1.http://www.itdecent.cn/p/4de0dff6c182
2.http://www.itdecent.cn/p/1ca12a7a816f