久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

swiftios開發(fā),swift開發(fā)框架

iOS-OC和Swift相互混合開發(fā)(OC&Swift混編)

在ios的OC和Swift混合開發(fā)無非是2種,一種是在OC的項(xiàng)目中使用Swift語言開發(fā),這里就需要?jiǎng)?chuàng)建Swift文件(或者引用Swift寫的的第三方庫),另一種是在Swift項(xiàng)目中使用OC語言開發(fā),這里就需要?jiǎng)?chuàng)建OC文件,(或者引用OC寫的的第三方庫)

崆峒網(wǎng)站制作公司哪家好,找成都創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。成都創(chuàng)新互聯(lián)公司成立于2013年到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選成都創(chuàng)新互聯(lián)公司。

首先我們?cè)谝粋€(gè)已有的OC的項(xiàng)目中,創(chuàng)建一個(gè)Swift文件

這里Xcode就會(huì)自動(dòng)提示我們?nèi)纾簣D1

Would you like to configure an Objective-C bridging header?

Adding this file to ocProjectUseSwift will create a mixed Swift and Objective-C target. Would you like Xcode to automatically configure a bridging header to enable classes to be accessed by both languages?

提示我們創(chuàng)建一個(gè)橋接的頭文件,當(dāng)我點(diǎn)擊 “ Create? Bridging Header”,Xcode就給我們自動(dòng)創(chuàng)建,自動(dòng)創(chuàng)建的規(guī)則是:項(xiàng)目名+ "-Bridging-Header.h" 如圖2

同時(shí)在項(xiàng)目中創(chuàng)建一個(gè)Swift文件

然后在在 targets - Build Settings - Packaging 中設(shè)置Defines Module 為YES

設(shè)置完后開始使用,怎么在oc中使用Swift的類呢?

重點(diǎn): 在文件中引用 #import "ocProjectUseSwift-Swift.h"? 記住不是我創(chuàng)建的SecondVC.swift,是“項(xiàng)目名-Swift.h"文件名 ,引入這個(gè)文件就引入了所有的Swift文件內(nèi)的類、方法、屬性

說明:這個(gè)文件是系統(tǒng)自動(dòng)創(chuàng)建,自動(dòng)添加所有我們創(chuàng)建的Swift的類的方法和屬性

前提是要在方法和屬性前面要加@objc 如圖3:

用@objc聲明好之后,在我們引用的是“項(xiàng)目名-Swift.h"文件名的?#import "ocProjectUseSwift-Swift.h" 內(nèi)就看到有標(biāo)記了如圖4

這里分了3塊,紅色和綠色標(biāo)記框內(nèi)是我們自己標(biāo)記的oc可用的屬性和方法,藍(lán)色框內(nèi)是系統(tǒng)自己生成的oc可以初始化方法

具體使用就在oc文件中,如圖5:

此事,在這個(gè)OC創(chuàng)建的項(xiàng)目中,我們創(chuàng)建的Swift文件怎么使用OC創(chuàng)建的類呢?

這里就用到我們創(chuàng)建的橋接頭文件了,在圖2中的橋接頭文件,引入OC的頭文件,如圖6

就這樣很簡單,所以Swift文件的類都可以使用這個(gè)OC文件內(nèi)的類了,使用起,和OC調(diào)用OC的類一樣,如如圖7和圖8

Swift的項(xiàng)目中,第一次創(chuàng)建OC的文件,此時(shí)系統(tǒng)會(huì)自動(dòng)幫我們創(chuàng)建橋接頭文件,如圖9

然后就有了和圖2一樣的橋接頭文件,剩下的就和圖6一樣,在橋接頭文件內(nèi)引入頭文件,即可使用OC的類,第三方庫如果也是OC寫的,在引入的時(shí)候也自動(dòng)會(huì)加這個(gè)橋接頭文件,當(dāng)然一個(gè)項(xiàng)目只能加一次,加過的就不需要加了

iOS開發(fā)中OC和swift的對(duì)比

1.import的類

OC:某個(gè)只要要使用某個(gè)類就要將該類import。

swift:如果是用戶自己創(chuàng)建類,其他類無需import可以直接使用。pod的一些三方類和系統(tǒng)的一些類,在使用的時(shí)候需要import

2.遵守協(xié)議實(shí)現(xiàn)協(xié)議中的代理方法

OC:

swift:

3.函數(shù)的返回值放在了后面

4.函數(shù)的參數(shù)類型放在了參數(shù)名的后面

5.函數(shù)的所有參數(shù)放在了一個(gè)"()"里,并且有了一個(gè)參數(shù)標(biāo)簽

看swift和OC的對(duì)比

枚舉:

OC中:

swift中:

6.swift中的閉包和OC中的block

OC中的block:

swift中的閉包:

6.1解決swift中的閉包引起的循環(huán)引用(使用weak)

7.swift中的可選類型

8.swift中的基本運(yùn)算

只有相同數(shù)據(jù)類型的數(shù)據(jù)才能進(jìn)行運(yùn)算(Int類型要想和Double類型數(shù)據(jù)運(yùn)行,需要先將Int類型數(shù)據(jù)強(qiáng)轉(zhuǎn)成Double類型數(shù)據(jù))

9.swift中的guard

增強(qiáng)了可讀性

9.1.swift中的if

沒有了OC中的”非0即真"

10.swift中的switch

可以判斷多個(gè)條件

可以判斷多種類型

不用寫break了

11.swift中的區(qū)間

12.swift中的元組

取數(shù)據(jù)更加方便

取出之后就知道元素的類型了

13.swift中的可選類型

swift是強(qiáng)類型語言。nil在swift中成了一種特殊類型,不能直接賦值給對(duì)象。只有可選類型才能賦值為nil

13.swift中的類型轉(zhuǎn)化

as as? as!

14.swift中的結(jié)構(gòu)體

14.swift中的屬性

存儲(chǔ)屬性、計(jì)算屬性、類屬性

本篇文章會(huì)持續(xù)更新,愿大家加班不多工資多,男同胞都有女朋友,女同胞都有男朋友。????

iOS開發(fā)(Swift)——時(shí)間器(Timer)的使用

全局變量的定義:var timer : Timer!

使用:timer=Timer.scheduledTimer(timeInterval: 0.1, target: self, selector: #selector(self.textfieldNotification), userInfo: nil, repeats: true)

textfieldNotification是timer的方法名

銷毀:如果像OC一樣直接timer.invalidate()會(huì)崩潰,要用

guard let timer1 = self.timer

else{ return }

timer1.invalidate()

收錄:

文章標(biāo)題:swiftios開發(fā),swift開發(fā)框架
網(wǎng)頁鏈接:http://sd-ha.com/article42/dsiphhc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、定制網(wǎng)站全網(wǎng)營銷推廣、靜態(tài)網(wǎng)站網(wǎng)站營銷、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)