一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Swift - Swift、Objective-C、Cocoa混合編程設置指南

Swift、Objective-C、Cocoa混合編程設置指南

2020-12-15 16:33Swift教程網 Swift

這篇文章主要介紹了Swift、Objective-C、Cocoa混合編程設置指南,需要的朋友可以參考下

Swift 被設計用來無縫兼容 CocoaObjective-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、Cocoa混合編程設置指南

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

延伸 · 閱讀

精彩推薦
  • SwiftSwift的74個常用內置函數介紹

    Swift的74個常用內置函數介紹

    這篇文章主要介紹了Swift的74個常用內置函數介紹,這篇文章列舉出了所有的Swift庫函數,內置函數是指無需引入任何模塊即可以直接使用的函數,需要的朋友可...

    Swift教程網5802020-12-19
  • SwiftSwift能代替Objective-C嗎?

    Swift能代替Objective-C嗎?

    這是我在網上上看到的答案,復制粘貼過來和大家分享一下,因為我和很多人一樣很關心Swift的出現對Mac開發的影響和對Objective-C的影響。...

    Swift教程網4412020-12-16
  • SwiftSwift中轉義閉包示例詳解

    Swift中轉義閉包示例詳解

    在Swift 中的閉包類似于結構塊,并可以在任何地方調用,下面這篇文章主要給大家介紹了關于Swift中轉義閉包的相關資料,需要的朋友可以參考下...

    小小小_小朋友11412021-12-26
  • SwiftSwift使用CollectionView實現廣告欄滑動效果

    Swift使用CollectionView實現廣告欄滑動效果

    這篇文章主要為大家詳細介紹了Swift使用CollectionView實現廣告欄滑動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    Stevin的技術博客12372021-01-13
  • SwiftSwift實現多個TableView側滑與切換效果

    Swift實現多個TableView側滑與切換效果

    這篇文章主要為大家詳細介紹了Swift實現多個TableView側滑與切換效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下...

    乞力馬扎羅的雪雪5822021-01-08
  • Swiftswift where與匹配模式的實例詳解

    swift where與匹配模式的實例詳解

    這篇文章主要介紹了swift where與匹配模式的實例詳解的相關資料,這里附有簡單的示例代碼,講的比較清楚,需要的朋友可以參考下...

    追到夢的魔術師14382021-01-06
  • Swiftmac git xcrun error active developer path 錯誤

    mac git xcrun error active developer path 錯誤

    本文主要是講訴了如何解決在mac下使用git;xcode4.6的環境時,出現了錯誤(mac git xcrun error active developer path)的解決辦法,希望對大家有所幫助...

    Swift教程網2232020-12-16
  • SwiftSwift教程之基礎數據類型詳解

    Swift教程之基礎數據類型詳解

    這篇文章主要介紹了Swift教程之基礎數據類型詳解,本文詳細講解了Swift中的基本數據類型和基本語法,例如常量和變量、注釋、分號、整數、數值類型轉換等...

    Swift教程網5162020-12-18
主站蜘蛛池模板: 日本久本草精品 | jazz中国在线视频 | 成人另类视频 | 四虎影院最新网址 | 国产在视频线精品视频 | 美女被免费视频 | 扒开腚眼子视频大全 | 欧美日韩精品乱国产 | 办公室大战秘书呻吟 | 韩日视频在线观看 | 猫咪av | 肥胖女人一级毛片 | 亚洲男男video | 91看片淫黄大片欧美看国产片 | 欧美一区二区三区四区五区六区 | 啊皇上你好大要知画 | 91精品国产美女福到在线不卡 | 日本欧美一二三区色视频 | 不卡日本 | 国产福利资源 | 爱色综合v| 国产一区二区不卡 | 777午夜精品免费播放 | 99精品在免费线视频 | 精品久久日日躁夜夜躁AV | 日韩成人在线网站 | 欧美日韩综合一区 | 久久九九亚洲精品 | 艾秋麻豆果冻剧传媒在线播放 | 亚洲国产AV一区二区三区四区 | 久久亚洲精品AV成人无 | 国产无限制自拍 | 男人天堂网址 | sex5·性屋娱乐 | 天天色综合久久 | 日本人做受全过程视频 | 2015台湾永久免费平台 | 国产精品久久久久久影院 | 国内精品久久久久久久久 | 男人网站视频 | 精品久久久久久久久免费影院 |