Swift語言中,有很多封裝類並沒有,如果需要使用到,就需要橋接OC語言中的類,這時候就需要使用橋接頭文件,一下是使用的步驟:
創建一個Swift項目Demo,然後新建一個OC語言的文件
如圖:

創建一個BgImgView的類,選擇對應的Object-C語言,點擊Next按鈕

會彈出提示框,詢問是否需要配置一個橋接頭文件,點擊創建按鈕(第三個)

這個時候會自動生成一個橋接頭文件

現在開始在OC文件中添加需要使用的相關代碼
.h文件
{
id _targetT;
SEL _selT;
}
//不帶參數的行數
-(void)testT;
//待返回參數
-(NSString *)nameStr;
//添加一個點擊事件方法,模仿按鈕的點擊
-(void)addTarget:(id)targetTT withSelector:(SEL)selecTT;
.m文件
//不帶參數的行數
-(void)testT
{
NSLog(@"調用了testT方法。。。。");
}
//待返回參數
-(NSString *)nameStr
{
return @"好好學習,天天向上";
}
//添加一個點擊事件方法,模仿按鈕的點擊
-(void)addTarget:(id)targetTT withSelector:(SEL)selecTT
{
_targetT = targetTT;
_selT = selecTT;
//是否交互
self.userInteractionEnabled = YES;
}
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event
{
if (_targetT)
{
[_targetT performSelector:_selT withObject:self];
}
}
需要的代碼寫完後,需要在橋接文件中添加頭文件,這裡只寫需要使用到的OC頭文件即可,不需要把所有的OC文件都寫上

然後在 .Swift 文件中使用,
//創建一個BgImgView對象
let bgImgV = BgImgView.init(frame:CGRectMake(10, 100, 200, 100));
bgImgV.image = UIImage.init(named: "22.jpg");
//調用方法
bgImgV.testT();
//返回參數方法
let nameStr = bgImgV.nameStr();
NSLog("輸出了。。。%@", nameStr);
//添加點擊事件
bgImgV.addTarget(self, withSelector: #selector(ViewController.imgClick));
self.view.addSubview(bgImgV);
}
func imgClick(imgV:BgImgView){
NSLog("點擊了圖片。。。。。");
}
最後輸出效果:
