美文网首页iOS swift 开发
oc 和swift混编之 类型转换问题导致无法将方法映射

oc 和swift混编之 类型转换问题导致无法将方法映射

作者: 水墨九 | 来源:发表于2016-01-29 17:02 被阅读656次

    研究了swift的制定构造器和便利构造器,脑袋疼,想起了昨天的一个小问题,撰文以记之。
    <p>

    问题描述:

    在swift里写了一个方法,想在一个oc 的类里调用,但是一直找不到,在映射文件里也没有看到那个方法暴露出来:

    1.定义了要被调用的方法的swift类:
    图一

    <p>

    2.想要使用swift类里那个方法的 OC 类:
    图二

    <p>

    3.查看映射文件,找不到暴露出来的方法:
    图三

    这是怎么回事呢?明明方法在swift里写了,怎么没有对应的映射呢?

    解决方案:

    原来是我定义了一个枚举类型,而这个枚举类型,oc 解析不了。在oc 中的枚举类型的成员变量是整型,第一个成员变量的值默认为0,第二个为1,顺次递增。但是在swift里,枚举类型的成员变量类型可以为字符串、整型、浮点数。。。因为我写的那个方法里有个参数是swift的枚举类型,应该是oc 处理不了了。
    我的解决方法是,指定swift枚举类型的类型,即:

    图四

    然后可以发现,该方法就可以愉快的映射到文件里,oc 的那个类也可以调用到它,接下来就可以愉快地码代码了。

    相关文章

      网友评论

        本文标题:oc 和swift混编之 类型转换问题导致无法将方法映射

        本文链接:https://www.haomeiwen.com/subject/rnmjkttx.html