您的位置:首页 > 移动开发 > Swift

Swift基础之Swift调用OC语言文件使用步骤

2016-08-19 17:27 288 查看
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<UITouch *> *)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("点击了图片。。。。。");
}

最后输出效果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: