研究了swift的制定構(gòu)造器和便利構(gòu)造器,腦袋疼,想起了昨天的一個小問題,撰文以記之。
<p>
問題描述:
在swift里寫了一個方法,想在一個oc 的類里調(diào)用,但是一直找不到,在映射文件里也沒有看到那個方法暴露出來:
1.定義了要被調(diào)用的方法的swift類:
圖一
<p>
2.想要使用swift類里那個方法的 OC 類:
圖二
<p>
3.查看映射文件,找不到暴露出來的方法:
圖三
這是怎么回事呢?明明方法在swift里寫了,怎么沒有對應(yīng)的映射呢?
解決方案:
原來是我定義了一個枚舉類型,而這個枚舉類型,oc 解析不了。在oc 中的枚舉類型的成員變量是整型,第一個成員變量的值默認(rèn)為0,第二個為1,順次遞增。但是在swift里,枚舉類型的成員變量類型可以為字符串、整型、浮點(diǎn)數(shù)。。。因?yàn)槲覍懙哪莻€方法里有個參數(shù)是swift的枚舉類型,應(yīng)該是oc 處理不了了。
我的解決方法是,指定swift枚舉類型的類型,即:
圖四
然后可以發(fā)現(xiàn),該方法就可以愉快的映射到文件里,oc 的那個類也可以調(diào)用到它,接下來就可以愉快地碼代碼了。