在项目里交叉使用Swift和OC
生活随笔
收集整理的這篇文章主要介紹了
在项目里交叉使用Swift和OC
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
wift and Objective-C in the Same Project
在項目里交叉使用Swift和OC
Swift與OC的兼容性使得你可以在項目里使用Swift+OC的方式編寫應用程序,稱為混合+匹配(mix and match),用這種方式可以一邊使用享受新語言的快速特性,一邊無縫的接合你已有的OC代碼(原文聽起來好NB的樣子,其實也就那么回事),不管項目最初是用OC編寫的還是新建的Swift項目,都可以在這個項目里用OC和Swift混合繼續開發
Importing Objective-C into Swift
在Swfit代碼中添加OC文件的時候,需要依賴一個bridging header文件,Xcode會在你新建一個OC文件的時候自動幫你創建(項目是使用Swift語言創建的),點擊yes,Xocde就會在新建OC文件的同時幫我們新建一個?xxx-Bridging-Header.h?文件,xxx是你的項目名稱(Product Module),然后我們得編輯這個文件才能讓Swfit代碼調用OC代碼
在項目的xxx-Bridging-Header.h文件里,添加需要在Swift里調用的OC文件,然后就可以在Swfit代碼中調用了
OBJECTIVE-C
[objc]?view plaincopy #import?"XYZCustomCell.h"?? #import?"XYZCustomView.h"?? #import?"XYZCustomViewController.h"??
SWIFT
[objc]?view plaincopy let?myCell?=?XYZCustomCell()?? myCell.subtitle?=?"A?custom?cell"??
在項目的 Build Settings 選項里,要確保Swift Compiler選項里有這個Bridging Header文件的設置,路徑必須指向文件本身,而不是目錄。
[objc]?view plaincopy #import?“ProductModuleName-Swift.h”??
以上歸納為一個表
在項目里交叉使用Swift和OC
Swift與OC的兼容性使得你可以在項目里使用Swift+OC的方式編寫應用程序,稱為混合+匹配(mix and match),用這種方式可以一邊使用享受新語言的快速特性,一邊無縫的接合你已有的OC代碼(原文聽起來好NB的樣子,其實也就那么回事),不管項目最初是用OC編寫的還是新建的Swift項目,都可以在這個項目里用OC和Swift混合繼續開發
Importing Objective-C into Swift
在Swfit代碼中添加OC文件的時候,需要依賴一個bridging header文件,Xcode會在你新建一個OC文件的時候自動幫你創建(項目是使用Swift語言創建的),點擊yes,Xocde就會在新建OC文件的同時幫我們新建一個?xxx-Bridging-Header.h?文件,xxx是你的項目名稱(Product Module),然后我們得編輯這個文件才能讓Swfit代碼調用OC代碼
在項目的xxx-Bridging-Header.h文件里,添加需要在Swift里調用的OC文件,然后就可以在Swfit代碼中調用了
OBJECTIVE-C
[objc]?view plaincopy
SWIFT
[objc]?view plaincopy
在項目的 Build Settings 選項里,要確保Swift Compiler選項里有這個Bridging Header文件的設置,路徑必須指向文件本身,而不是目錄。
Importing Swift into Objective-C
當在OC里調用Swift中的代碼時,需要依賴一個xcode自動生成的頭文件,這個自動生成的頭文件定義了項目中所有的Swift文件,這個頭文件的命名為 “xxx-Swift.h” ,xxx為項目的名稱,此外就不需要再做任何事情了,你只需要在OC代碼里導入這么一個文件,就可以跟沒事一樣拿任意一個Swift中的代碼用了[objc]?view plaincopy
以上歸納為一個表
| ? | 調用Swift代碼 | 調用OC代碼 |
| Swift代碼 | 無需聲明 | #import "ProductModuleName-Swift.h” |
| OC代碼 | 依賴bridging header文件 | #import "Header.h” |
總結
以上是生活随笔為你收集整理的在项目里交叉使用Swift和OC的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: XCode环境变量及路径设置
- 下一篇: 自定义Xcode代码模板:Code Sn