首先看swift的基礎(chǔ)語法,了解了最基本的控制,變量,數(shù)據(jù)體,類與結(jié)構(gòu)體,繼承之后,開始可以寫一些簡單的命令行工具,說白了就是終端工具,打印log之類的沒一點(diǎn)問題。
可惜,我們學(xué)習(xí)這個(gè)東西不是為了開發(fā)command line程序的,我用shell或者nodejs也挺好比這個(gè)上手還快。所以緊接著第二天開始直接跳過command line程序編寫ios app,也就是iphone程序。
如果只是學(xué)習(xí)Swift的語法和做基本練習(xí)的純計(jì)算性的編程,不用學(xué)習(xí)Objective-C,用Swift的Playground就很好了。
但沒有Objective-C的基礎(chǔ),幾乎不可能用Swift寫出Mac OSX和iOS的GUI實(shí)用程序的,這些需要cocoa框架,而cocoa框架是以O(shè)bjective-C來編寫API的。Swift的cocoa API其實(shí)只是對Objective-C的API的直接bind。
這幾天用了Swift后感覺其和Objective-C是渾然一體的,用Swift調(diào)用Objective-C的函數(shù)是非常自然的,兩者之間沒有明顯的界限,就像編寫C語言的嵌入式匯編一樣。
如果在swift剛推出來的時(shí)候,那時(shí)候ios和mac開發(fā),還主要是用cocoa這個(gè)工具上面而文檔多數(shù)還是obj c和cocoa api的互相調(diào)用上,
但是我們回頭看,蘋果顯然意識到了這一點(diǎn),那就是光有一個(gè)語言,是不夠的如果只有一個(gè)語言語法,那用戶除了對著小黑框在那邊輸入然后提示輸出以外,其實(shí)用戶也做不了什么東西
當(dāng)然這是軟件最原始的樣子,計(jì)算機(jī)計(jì)算機(jī),最開始的目的就是用來充當(dāng)計(jì)算器用的嘛只是隨著時(shí)間的推移,很顯然,用戶對于軟件的需求就不僅僅是能夠計(jì)算,而是需要各種多媒體的輸出了
學(xué)習(xí) iOS 開發(fā),大頭不在語言,共通的部分都學(xué)會了,補(bǔ)一補(bǔ)一個(gè)很簡單的面向?qū)ο蟮?OC 還是很大的問題嗎。
而且現(xiàn)在的 Swift 在編譯速度上(雖然現(xiàn)在 Xcode 6.3.1 已經(jīng)比以前強(qiáng)多了),增量編譯檢查,LLDB 在補(bǔ)全等問題上還沒有 OC 做得好,新項(xiàng)目使用 Swift 并不具有絕對的優(yōu)勢。所以無論先學(xué)還是后學(xué),OC 都是終究要面對的事情,不過它不是一個(gè)難的事情。
且不說CocoaPods或者Carthage的學(xué)習(xí)成本,假設(shè)我們已經(jīng)把這些第三方庫平安的放到自己的項(xiàng)目里,作為一個(gè)沒有OBJ-C基礎(chǔ)的人來說,想調(diào)用它基本就是不可能的任務(wù)TG:li9047
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。