swift oc 混编,oc 如何访问swift类中的方法

[复制链接]
查看11 | 回复1 | 2021-1-27 06:20:33 | 显示全部楼层 |阅读模式
1、swift类继承了一个oc编写的类作为父类,
2、别的oc的类访问该swift重写父类的方法是可以访问的,但是swift类里自己的方法。访问不到,具体如下:
3、前提是桥接什么的都弄好了
1.定义了一个swift类,继承一个oc类:


2、父类里的方法



3、在另外一个类里,想调用1中那个swift类里的
funcgetSmartLockSceneInfo(sceneOperationType:smarkLockSceneOperationType,aid:NSInteger)->ASPXMLSmartLockScene!
{
letsomeVideoMode=ASPXMLSmartLockScene(aid:aid,sceneOperationType:sceneOperationType)
returnsomeVideoMode
}



a、调用:



我查找了一下"项目名-Swift.h",发现里边没有把那个方法暴露出来


这个h文件里找不到那个方法。
不知道我描述的够不够明白,请教大家,我是什么地方写的不对吗?swift和oc刚刚开始混编起来,有很多不懂的地方,请多指教。

分 -->
回复

使用道具 举报

千问 | 2021-1-27 06:20:33 | 显示全部楼层
问题已经解决。
首先感谢边缘998(http://my.csdn.net/fengsh998),找到了问题的关键所在。
问题原因:在oc中的枚举类型是一个整数的常数集合,默认从0开始分配,而在swift中,枚举的成员变量的类型可以是一个字符串,一个字符,或者任何整数或浮点类型的值,所以从swift映射到oc时,因为类型不同就不会成功映射,所以调用不到。
解决办法:在swift中定义的枚举,指定其具体的类型,当然,是可以进行转换的类型,我这里使用的是整型,这样就可以了

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行