iOS- Swift和Object-C的混合編程


1.前言  

 
事實證明,在短時間內Swift還取代不了Object-C,
而且....
Apple Swift 開發小組的人說的:「We'll recommend people start with Swift, sure, but ObjC isn't going anywhere. Our goal's to work with the platform, not reinvent.」嗯,Apple 官方對 Swift 和 ObjC 的態度很明白了,准備同時學好兩門語言吧.
 
 
 
那么我們首先要會的就是兩種語言的混合編程了,今天簡單入門下- 
 

2.Swift調用Object-C代碼

 2.1.創建一個Swift project  

 
 

2.2.創建一個Object-C class

 
這里會顯示是否需要創建一個 OC橋梁的header,然后我們選YES
這里是肯定要創建的
 
然后在OC的 class里編寫一個簡單方法
 
 

2.3.在橋梁文件中導入OC文件的頭文件  

如果不導入的話,在Swift文件里將會沒有提示,並且無法調用
 

2.4.在Swift文件中創建對象,運行  

 
如圖:調用sayhello方法成功.
 
 
 

3.Object-C調用Swift代碼  

3.1.創建一個Object-C project  

 
 

3.2.創建一個Swift class  

 
這里仍然會顯示是否需要創建一個OC橋梁的header,然后我們選YES
這里是肯定要創建的

2.3.橋梁文件  

這里和Swift調用OC 不同重點,需要注意下

這個是Swift主動用來調用OC語言所需要的
這里我們是OC調用Swift語言,所以不用在這個橋梁文件中導入Swift文件
_____________
為什么呢?
因為創建它的同時,xcode還創建了一個隱藏文件
而這個隱藏文件才是我們OC調用Swift語言的必須品
那么它叫什么名字呢?
 
“項目工程名”+ “-” + “Swift”  .h
 
我們需要在OC的class里,導入這個隱藏文件
雖然我們看不到,但是其實它是存在的.
 
 
 

2.4.在OC文件中創建對象,運行  

 
注意:這里OC創建完對象,調用方法的時候 有時會出現——
調用方法的時候沒有提示,甚至報錯說找不到這個方法
這時我們不用管,直接運行
 
事實證明運行成功,之后報錯信息就會消失
 如上圖:調用sayhello方法成功.
 
 
謝謝大家,還有什么疑問可以評論中提出,我有時間會耐心回復!
 
作者:  清澈Saup
出處:   http://www.cnblogs.com/qingche/
本文版權歸作者和博客園共有,歡迎轉載,但必須保留此段聲明,且在文章頁面明顯位置給出原文連接。
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM