研究了swift的制定构造器和便利构造器,脑袋疼,想起了昨天的一个小问题,撰文以记之。
<p>
问题描述:
在swift里写了一个方法,想在一个oc 的类里调用,但是一直找不到,在映射文件里也没有看到那个方法暴露出来:
1.定义了要被调用的方法的swift类:
图一<p>
2.想要使用swift类里那个方法的 OC 类:
图二<p>
3.查看映射文件,找不到暴露出来的方法:
图三这是怎么回事呢?明明方法在swift里写了,怎么没有对应的映射呢?
解决方案:
原来是我定义了一个枚举类型,而这个枚举类型,oc 解析不了。在oc 中的枚举类型的成员变量是整型,第一个成员变量的值默认为0,第二个为1,顺次递增。但是在swift里,枚举类型的成员变量类型可以为字符串、整型、浮点数。。。因为我写的那个方法里有个参数是swift的枚举类型,应该是oc 处理不了了。
我的解决方法是,指定swift枚举类型的类型,即:
然后可以发现,该方法就可以愉快的映射到文件里,oc 的那个类也可以调用到它,接下来就可以愉快地码代码了。
网友评论