1. 程式人生 > >Swift和Objective-C混合編程——Swift調用OC

Swift和Objective-C混合編程——Swift調用OC

分享 發現 load 另一個 == 方法 代碼 swift 應用

在iOS應用的開發中。Swift必將代替OC,兩者的趨勢是“短期共存,長期代替”。但曾經有太多的代碼是用OC語言完畢的,而Swift的開發也從 OC中繼承了非常多的特性。兩者也是有非常多的類似之處。

眼下Swift和OC能夠實現無縫的混合編程。

我這裏會實現一個簡單的Swift調用OC的iOS實例,實現過程是十分的簡單的。

就像我們全部的Hello World一樣。

詳細操作過程例如以下:

(1)Xcode中新建一個iOS項目,語言選擇Swift。設備選擇iPhone.文件夾結構例如以下:

技術分享

(2)然後在該項目中右鍵New File,選擇 Cocoa Touch Class, 輸入類名,繼承NSObject,語言選擇Objective-c.選擇Next後。第一次在Swift中創建OC類的時候,會彈出例如以下對話框,點擊Yes就可以:

技術分享


(3)創建完OC類之後,項目的文件夾結構例如以下:發現文件夾結構中多了三個文件,Hello.h,Hello.m各自是我創建的OC的類,等下會用Swift來進行調用。另一個就是Bridging-Header.h,能夠把這個理解為是OC和Swift之間橋接的文件。

技術分享


(4)然後在Bridging-Header.h,中引入OC類的頭文件,代碼為:#import "Hello.h"

(5)然後在OC類中實現一個簡單的方法。輸出一條語句,先在Hello.h中進行聲明:

技術分享

然後在Hello.m中使用OC語法實現該方法:

技術分享


(6)然後在Swift的類ViewController.swift的viewDidLoad()中調用OC的方法:

技術分享


(7)最後執行打印結果,

技術分享.


至此,Swift就能方便的調用OC的代碼了。

是不是非常方便的。


github主頁:https://github.com/chenyufeng1991 。歡迎大家訪問!

Swift和Objective-C混合編程——Swift調用OC