iOS 裏面 Swift與Objective-C混編,Swift與C++混編的一些比較

轉自:http://www.cnblogs.com/yuyongjian/p/4361383.html?utm_source=tuicool&utm_medium=referral


一,C,C++, Objective-C,Swift有什麼關係,還有什麼是混編-.-?

1.當然是兄弟關係,雖然Objective-C是擴充C的面向對象編程語言,C++是在C語言的基礎上開發的一種通用編程語言。Swift是由蘋果公司推出有意讓其與Objective-C共存於蘋果公司操作系統上。但是Objective-C一直是由蘋果公司來撫養,C,C++也因爲蘋果公司才變得如此流行。
2.混編,就是混合編譯-.-強大吧,好好感受史蒂夫 喬布斯對開發技術人員的尊重和期待。
3.C,C++, Objective ,Swift 但就像《葫蘆娃》裏面七個兄弟中的四個一樣牛掰,七葫蘆娃是最厲害的,但需要七個兄弟齊心協力才能收妖。類似的,Swift是最小的弟弟,這就意味着Swift是最厲害的。我們在接近新寵Swift的同時,也要經常複習其他語言,不要忘記他的哥哥們。

二,小小的比較

1.Swift和Objective-C
我們都體會得到Swift調用Objective-C並不難,也不麻煩。你只要在swift的工程裏創建OC的文件,系統就會提問幫你生成一個bridging-header,只要在這個bridging-header裏import所有要用到的OC的頭文件,就可以在swift文件裏用swift的語言風格來調用OC類了。

2.Swift和C++
C++並不是像Objective-C這樣。首先,我們應該想到Objective-C與C++是可以混編得perfect,而且可以使用STL,辦法就是將OC的.m文件後綴改成.mm,然後在OC類中寫一個wraper,然後在裏面調用C++的類,封裝成幾個公共的方法就可以了。這時再用swift來調用wraper裏的方法,就可以執行C++語句了。

三,iOS OC和Swift混編

1.創建一個swift或者oc的工程:我這裏是創建的Swift語言的工程,工程名SwiftTest
2.在工程中代碼目錄下創建一個oc的類,選擇oc語言, 會出一個對話框,選擇YES

這裏寫圖片描述

3.這時會在工程裏看到下圖這樣一個頭文件.

這裏寫圖片描述

4.在這個頭文件裏添加你的OC文件的.h文件,就可以在任意swift文件中自行調用所包含的oc文件了。

這裏寫圖片描述

5.接下來在工程的target-》build Setting->package下個性如下兩項
6.然後在OC代碼的.m文件中引入 + “-swift.h” 這樣一個頭文件,比如我的工程會生成 SwiftTest-swift.h這樣一個頭文件的。 然後你的.m文件就可以隨便調用swift文件了。

這裏寫圖片描述

其實如果你設置的Defines Module = YES了, xcode就會默認生成Product Module Name - swift.h這樣一個頭文件,這個頭文件下會有你所有.swift文件的.h信息。

四,總結

1.Swift語言是蘋果公司的利器。如果想靠iOS開發來養家人和女朋友,就得好好研究Swift,最好是去蘋果官方網站學習,那裏有Swift的下載資源和Swift博客,但蘋果官方網站裏的文檔都是英文,所以英語得過關,這並不代表一定要過四六級,只要看得懂技術文檔就行,畢竟六級不是人能看得懂的-.-
2.看十篇技術文檔,不如解決一個問題,不如自己寫一個Demo。所以程序員只能苦逼的奉獻自己的青春,多寫代碼—>.->
3.單身狗要早點找女朋友:)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章