Swift、Objective-C、Cocoa混雜編程設置指南。本站提示廣大學習愛好者:(Swift、Objective-C、Cocoa混雜編程設置指南)文章只能為提供參考,不一定能成為您想要的結果。以下是Swift、Objective-C、Cocoa混雜編程設置指南正文
Swift 被設計用來無縫兼容 Cocoa 和 Objective-C 。在 Swift 中,你可使用 Objective-C 的 API(包含體系框架和你自界說的代碼),你也能夠在 Objective-C中 應用 Swift 的 API。這類兼容性使 Swift 釀成了一個簡略、便利而且壯大的對象集成到你的 Cocoa 運用開辟任務流程中。
這篇指南包含了三個有關兼容性的主要方面便利你更好天時用來開辟 Cocoa 運用:
互用性 使你將 Swift 和 Objective-C 相接合,許可在 Objective-C 中應用 Swift 的 Class 而且當你在寫 Swift 代碼時應用熟習的 Cocoa Class、Pattern、Practice。
混雜和婚配 許可你創立聯合了 Swift 和 Objective-C 文件的混雜說話運用,他們能更彼此停止通訊。
遷徙 因為以上兩點,從曾經存在的 Objective-C 代碼遷徙到 Swift 長短常簡略的,使得用最新的 Swift 特征取代你的 Objective-C 運用部門內容成了能夠。
在你開端進修這些特征前,你須要對若何樹立 Swift 情況來拜訪 Cocoa 體系框架有個年夜體懂得。
樹立你的 Swift 情況
為了開端體驗在 Swift 中拜訪 Cocoa 框架,應用 Xcode 的一個模板來創立一個基於 Swift 運用。
在 Xcode 中創立一個 Swift 項目
1) 選擇 File > New > Project > (iOS or OS X) > Application > your template of choice。
2) 點擊 Language 彈出菜單並選擇 Swift。
Swift 項目標構造簡直和 Objective-C 項目如出一轍,只要一個主要的差別:Swift 沒有頭文件。在完成和接口之間沒有顯示的劃分,所以一個特定類中的一切信息都存儲在零丁的.swift文件中。
如今開端,你可以開端體驗在app delegate中寫 Swift 代碼,或許你可以經由過程選擇 File > New > File > (iOS or OS X) > Other > Swift來創立一個 Swift 類。
懂得 Swift 導入進程
在你樹立 Xcode 項目後,你可以在 Swift 裡導入隨意率性用 Objective-C 來任務的 Cocoa 平台框架。
隨意率性 Objective-C 的框架(或 C 類庫)將作為一個module,能直接導入到 Swift 中。這些包含了一切 Objective-C 體系框架-好比 Foundation、UIKit 和 SpriteKit,就像體系支撐公共 C 類庫。舉個例子,想導入 Foundation,只需簡略地添加 import 語句到你寫的 Swift 文件的頂部。
SWIFT
import Foundation
這個 import 導入了一切 Foundation 的 API,包含NSDate,NSURL,NSMutableData,而且他們的一切辦法、屬性和種別都可以在 Swift 中直接應用。
導入進程長短常簡練的。Objective-C 框架在頭文件中聲名 API。在 Swift 中,那些頭文件被編譯成 Objective-C 的 module,接著被導入到 Swift 作為 Swift 的 API。導入決議了 Objective-C 的 Function,Class,Method 和 Type 若何在 Swift 中湧現。關於 Function 和 Method,這個進程影響他們的參數和前往值。導入進程可以做上面這些工作:
1.重映照肯定的 Objective-C 類型到 Swift 中的一致類型,就像 id 到AnyObject
2.重映照肯定的 Objective-C 焦點類型到 Swift 中的替換類型, 就像NSString到String
3.重映照肯定的 Objective-C 概念到 Swift 中相婚配的概念,如pointers到optionals
在互用性章節,你將會懂得到更多關於這些映照若何在你的 Swift 代碼停止棄取。 導入 Swift 的模子到 Objective-C 和從 Objective-C 導入 Swift 長短常類似的。Swift 聲名它的 API,好比一個框架作為 Swift modules。同時這些 Swift modules 會生成 Objective-C 的頭文件。這些頭文件可以映照回 Objective-C 的 API 中。一些 Swift 的 API 不映照回 Objective-C 由於他們棄取了說話特征發明這些在 Objective-C 中弗成用。關於在 Objective-C 中應用 Swift 的更多特征,請參看在統一項目中應用 Swift 和 Objective-C。