你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> 《從零開始學Swift》學習筆記(Day 70)——Swift與Objective-C混合編程之Swift與Objective-CAPI映射

《從零開始學Swift》學習筆記(Day 70)——Swift與Objective-C混合編程之Swift與Objective-CAPI映射

編輯:IOS開發綜合

  Swift與Objective-C API映射

  在混合編程過程中Swift與Objective-C調用是雙向的,由於不同語言對於相同API的表述是不同的,他們之間是有某種映射規律的,這種API映射規律主要體現在構造函數和方法兩個方面。

  1、構造函數映射

  在Swift與Objective-C語言進行混合編程時,首先涉及到調用構造函數實例化對象問題,不同語言下構造函數表述形式不同,如圖是蘋果公司官方API文檔,描述了NSString類的一個構造函數。

  

 

  Swift構造函數除了第一個參數外,其它參數的外部名就是選擇器對應部分名。規律的其它細節圖中已經解釋的很清楚了,這個規律反之亦然,這裡不再贅述。

  

 

  2、方法名映射

  在Swift與Objective-C語言進行混合編程時,不同語言下方法名表述形式也是不同的,如圖是蘋果公司官方API文檔,描述了NSString類的rangeOfString:options:range:方法。

  

 

  選擇器第一個部分rangeOfString作為方法名,一般情況下Swift方法第一個參數的外部參數名是要省略的,“_”符號表示省略。之後的選擇器各部分名(如:options和range),作為外部參數名。除了參數名對應為,參數類型也要對應下來。

  

 

  Swift 2.0之後方法可以聲明拋出錯誤,這些能拋出錯誤的方法,不同語言下方法名表述形式如圖下圖所示,是writeToFile:atomically:encoding:error:蘋果公司官方API文檔。

  

 

  比較兩種不同語言,我們會發現error參數在Swift語言中不再使用,而是在方法後添加了throws關鍵字。

  這種映射規律不僅僅只適用於蘋果公司官方提供的Objective-C類,也適用於自己編寫的Objective-C類。

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved