一、OC中引入Swift
最近在研究swift時候,需要實現OC與Swift混編,因此總結了以下幾個步驟實現OC中引入Swift。
下面說一下詳細的步驟:
1.創建一個 ''aaaa'' 的 OC 的工程。
2.創建一swift文件。
創建一個swift文件
3.創建一個名字為"LearnSwift"的swift文件。
LearnSwift.png
4.在創建的過程中會顯示如下:
是否添加橋接文件
5.點擊"Create Bridging Header",這時就會創建成功。(ps:一般情況下,要是OC中引入Swift的話不用創建這個橋接文件也沒事)。
6.為了引入swift文件中的東西,我先在LearnSwift中創建如下兩個類:
class LearnSwift : NSObject {
func logsth(strToLog:NSString) {
NSLog("年輕人我跟你說,想當年我裝逼的時候你還是一滴液體");
}
}
public class Test: NSObject {
public func log() {
print("這是Swift的方法")
}
}
7.我在"ViewController.m"里面,引入如下頭文件。
#import "aaaa-Swift.h"
(PS:格式必須正確#import "工程名-Swift.h"
,我創建的''aaaa''工程)。
8.在 我的工程 -> Buid Settings -> Packaging ->Dedines Module (改為" YES ")
效果如下:
設置
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");
}
打印結果如下:
打印結果
11.在ViewControlle.m文件里面添加如下:
總體
二、Swift中引入OC
直接在橋文件里面寫上需要引入的類名的 .h文件即可,如下:
Swift引入OC
參考鏈接 :
1.http://www.lxweimin.com/p/4de0dff6c182
2.http://www.lxweimin.com/p/1ca12a7a816f