背景
近日在和一羣朋友做項目,我和另一位同學負責iOS客戶端,我是一直使用OC的,而他只會Swift,因此在我們分工協作之後,就需要把代碼合在一起,這就牽扯到如何在TabbarController中添加一個Swift創建的子控制器的問題。
解決
首先在一個OC項目中新建一個Swift類,繼承自UITableViewController,並且修改其view背景色,方便後續測試。
import UIKit
class ESSwiftTableViewTestVc: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = UIColor.grayColor();
}
// 下面省略
}
然後在需要使用的地方導入一個頭文件,注意頭文件是由系統自動生成的,爲工程名-swift.h
,例如我的工程名爲EnjoySkill,那麼這個頭文件就是EnjoySkill-swift.h,系統不會進行自動補全,需要自行輸入完成。
#import "EnjoySkill-swift.h"
最後,也就是需要創建控制器的時候,使用OC的語法創建。
UITableViewController *tab2 = [[ESSwiftTableViewTestVc alloc] init];
不得不說,蘋果在這兩種語言的銜接方面做的很自然,方便。