最近比較清閑导帝,就把以前學(xué)習(xí)的過程記錄下吧垦写,多少年后如果能在互聯(lián)網(wǎng)上找到自己的痕跡古毛,想想還是一件蠻值得高興的事情钦购。
正好這兩天加了一個(gè)swift學(xué)習(xí)群想繼續(xù)學(xué)習(xí)swift檐盟,發(fā)現(xiàn)好多swift初學(xué)者,在混編這塊還不是很清楚肮雨,當(dāng)初自己初學(xué)的時(shí)候也經(jīng)歷了這么一個(gè)痛苦的過程遵堵,所以把自己的痛苦過程也寫一下。當(dāng)然這也是第一次寫文章,想想有點(diǎn)小激動(dòng)呢陌宿,各位看官老爺和大神們锡足,請(qǐng)多多關(guān)照,不要罵的太慘...
1. 建立swift 項(xiàng)目
這里以pod集成為前提壳坪,怎樣全局使用一些第三方庫舶得,以我們常用的AFN為前提
pod 'AFNetworking'
如果不指定版本號(hào),pod 會(huì)自動(dòng)幫助我們下載最新的版本
好了爽蝴, 有了swift項(xiàng)目沐批,如果我們需要使用OC的庫,就需要用到橋接文件蝎亚。如果建立的是OC的項(xiàng)目九孩,那么我們使用swift文件的時(shí)候Xcode會(huì)詢問我們是否創(chuàng)立橋接文件。當(dāng)然如果建立的是swift的項(xiàng)目发框,那么我們就需要去手動(dòng)創(chuàng)建橋接文件躺彬。ProjiectName-Bridging-Header.h? 蘋果推薦的命名格式
不要忘了設(shè)置橋接文件的路徑
這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)在swift文件里面還是調(diào)用不了,還需要import 梅惯。那這就不是我們想要的效果了宪拥,接著往下走。
把我們需要的第三方庫添加進(jìn)去
把路徑設(shè)置好她君,Build一下 ,大功告成
2.創(chuàng)建OC的項(xiàng)目
oc的項(xiàng)目我們使用第三方庫SVProgressHUD,使用pod集成后葫哗,我們創(chuàng)建一個(gè)Svp.swift文件缔刹,這個(gè)時(shí)候Xcode會(huì)詢問我們是否創(chuàng)建橋接文件
然后我們到TARGETS -> Build Setting -Swift Compiler -General 里面會(huì)發(fā)現(xiàn)橋接文件的路徑已經(jīng)寫上去了。但是如果我們選擇Don·t(那個(gè)符號(hào)不會(huì)打魄梯。桨螺。。)Create 而去手動(dòng)創(chuàng)建的時(shí)候 我們就需要自己去把路徑給填寫上
然后同樣的來到Build Setting 下面把路徑設(shè)置下
然后在橋接文件里面寫上我們需要的庫
#import "SVProgressHUD.h"
在創(chuàng)建的swift 文件里面 直接調(diào)用SVP的類? 酿秸,OK? 是可以的
# OC 調(diào)用Swift?
上面說的都是swift 怎么調(diào)用oc? 灭翔,這里說一下oc調(diào)用swift
一般OC里面我們使用pch文件去管理我們?nèi)こ绦枰玫降囊恍┡渲茫?h文件之類的。如果想做到OC去調(diào)用swift辣苏,那么只需要在pch文件導(dǎo)入 "ProjectName-Swift.h" 格式的文件就可以了肝箱。這個(gè)文件項(xiàng)目里面找不到的,但是它確實(shí)是存在的稀蟋,我們可以點(diǎn)進(jìn)去看一下
然后我們?cè)赩iewController 去調(diào)用swift文件里面的類
那是不是所有的swift里面定義的類 OC都能去調(diào)用呢煌张?我們?cè)趕wift文件里面定義一個(gè)類
定義了一個(gè)Da 的類退客,它是一個(gè)基類骏融,然后我們?cè)偃C的ViewController 里面去調(diào)用链嘀,發(fā)現(xiàn)調(diào)用不了。但是如果當(dāng)Da 這個(gè)類去繼承NSObject 或者UIViewcontroller 或者任意一個(gè)OC的類 档玻,我們都能去調(diào)用它怀泊。這里我們就知道了,OC中想要調(diào)用swift定義的類误趴,那這個(gè)類要繼承于OC中定義的類霹琼。我們都知道,OC的代碼都能很好橋接到swift中凉当,所以我們swift所使用的類都能繼承于OC枣申,但是反過來,OC去繼承swift中定義的類都是不行的看杭。
還有就是如果 Swift 類中的成員或者方法需要在 OC 中使用忠藤,要使用@objc修飾符。
當(dāng)然需要注意的東西還有很多楼雹,這里一時(shí)半會(huì)也說不完熄驼,以后有機(jī)會(huì)再慢慢寫吧
好吧,寫的都是一些簡(jiǎn)單的東西烘豹, 其實(shí)這些東西大家可能都會(huì),當(dāng)然這篇文章最主要還是寫給自己的诺祸,一個(gè)鞭策自己携悯,讓自己養(yǎng)成一個(gè)良好習(xí)慣的開端吧。當(dāng)然如果有什么不對(duì)的地方筷笨,希望大家多多指出