2014年7月1日 星期二

[Swift]Objective-C 和swift混合模式(mix)

swift問世後,想要改寫swift但是又礙於很多慣用的工具和class都是Objective-C版的,
重寫又太麻煩,幸好有一種叫混合模式的東西。

可以讓你沿用原本寫的工具,然後透過bridge自動變成swift的格式使用。
(在這裡不討論怎麼轉的,提供怎麼實作的簡單教學。)


1. 首先,開一個swift專案 (或者沿用舊的專案也無妨)
image

2. 把你要使用的Objective-C檔案的.h 和.m檔拉到專案中,除了會問你要不要複製到專案中外,還會多跳一個視窗。
簡單來說問你要不要建一個bridge header,選YES
_W__芸_ 2014-07-01 15.38.56

3. 然後可以注意到在 supporting files裡面多了一個檔案
螢幕截圖 2014-07-01 16.14.49

4. 修改bridging-Header.h檔案內容,import 要用的.h檔
螢幕截圖 2014-07-01 16.17.17

5. 然後就可以在swift裡面使用這個class了
螢幕截圖 2014-07-01 16.19.25

缺點:
針對DataSource/Delegate的部分,@protocol的func的自動補完好像有點怪怪的,有的時候可以靠按ESC跳出來,有的時候則否。
原因還在研究中。

不過一些功能的,就算是objective-c的一樣可以使用,可以節省不少開發時間。

沒有留言 :

張貼留言