研究了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 中的枚舉類型的成員變量是整型,第一個成員變量的值默認為0锋谐,第二個為1遍尺,順次遞增。但是在swift里涮拗,枚舉類型的成員變量類型可以為字符串乾戏、整型、浮點數(shù)三热。歧蕉。。因為我寫的那個方法里有個參數(shù)是swift的枚舉類型康铭,應(yīng)該是oc 處理不了了。
我的解決方法是赌髓,指定swift枚舉類型的類型从藤,即:
然后可以發(fā)現(xiàn),該方法就可以愉快的映射到文件里锁蠕,oc 的那個類也可以調(diào)用到它夷野,接下來就可以愉快地碼代碼了。