如何快速上手swift?最簡單最快速的就是:做中學(xué),真正的去使用它。
剛開始是有點難的,正所謂萬事開頭難![只要開了頭,就堅定不移的去執(zhí)行它]。(這句話有兩個重點,圈起來考試要考)
一、開始
二、執(zhí)行
下面分享一下我個人的學(xué)習(xí)經(jīng)驗吧。不適用的可以略過哦。距離上一篇寫關(guān)于swift的已經(jīng)是一年前了,那時候突然想嘗試一下swift,然后呢?在學(xué)習(xí)的途中遇到的特性啊,實現(xiàn)方式不一樣記錄了一下,現(xiàn)在看來。哪些真是辣眼睛,篇幅較短,就是記錄一下,那天學(xué)的的一些知識。然后后面工作時間比較緊張還有就是很多理由(總結(jié)為就是懶還有執(zhí)行力不夠)
不知道你們有沒有這些毛病,如果有的話,就調(diào)整好自己的心態(tài)。還有就是做好時間管理,很多人都說自己沒有時間啊,工作忙啊。996啊。工作的都不完,哪有時間去搞這搞那的。大家都是成年人,你有沒有時間玩游戲,看微博,刷抖音,是不是?那可能有人會說,上了一天班,那么累?那不好好,讓大腦休息一下嗎?確實上一天班真的很累,特別是996的同學(xué),下班都感覺是行尸走肉一般。除了劃水的同志外啊。我絕對相信,加班的同志或多或少都會有點時間是劃水的吧。。一天的狀態(tài)都是100%在工作的話,恭喜你你是個狠人。這對你提升自己是非常有利的基本功。就像扎馬步對于學(xué)武功很重要。
工作中如果你是這樣的人,然后自己又抱怨住的遠啊,抱怨這,抱怨那的,其實你根本的原因就是不想去學(xué)習(xí)。有的同學(xué)說不是這樣的,我真的真的真的很想學(xué)習(xí),但是就是沒有時間,沒有毅力,沒有執(zhí)行力??赡馨?。并不是你沒有執(zhí)行力,也不是你沒有時間和毅力,你一天能很有精力的去完成你的工作,如果你想提高自己,那么請拿出這100%中的一點時間來學(xué)習(xí)。比如說一天上班 8個小時,一天的任務(wù)量,應(yīng)該是差不多可以完成的對吧。那請你7個小時內(nèi),把這些任務(wù)做完吧。留一個小時出來學(xué)習(xí),或者30分鐘就行了?;蛟S有人說這半個小時/1個小時能干什么呢?確實不能干什么大事,但是可以看幾篇博客吧,或者少一些,一篇總是可以的吧。我試過是可以的,因為我就是這樣過來的。但是這里有一個決擇,是什么時候?qū)W習(xí)呢?1.是先學(xué)習(xí)后工作呢?2.還是先工作后學(xué)習(xí)?3. 工作做一半然后學(xué)習(xí)?這個跟個人的精力有關(guān)系吧。這3種我都試過,然后我覺得第一種比較適合我,先學(xué)習(xí)一會然后工作,這個根據(jù)個人情況而定。
有的同學(xué)問,不怕被大佬看到嗎?其實大佬看到應(yīng)該是開心的吧,(個別除外)總比你看手機,或者瀏覽其他網(wǎng)頁,劃水時被大佬站在后面欣賞的尷尬吧。??,沒錯我就是那個人。后面我就不劃水了。多看點自己喜歡的方面,你總會長進的,前面的逆向工程也是我在劃水的時間里去研究的,總之找一個你喜歡的方向去研究,然后就是像完成工作一樣去執(zhí)行它。劃重點了,考試要考哦。
像完成工作一樣去執(zhí)行它

這里得用SMART 原則來裝一下X:
1. 目標必須是具體的(Specific):思考為了實現(xiàn)目標,你的行動計劃是否清晰? 每一天的工作內(nèi)容都是明確的,比方說你今天要完成那個模塊
2. 目標必須是可以衡量的(Measurable):思考該用什么衡量是否實現(xiàn)了目標?也就是說,你定的目標最好是可觀測的,客觀的,而不是主觀的。比方說完成這個模塊的UI和邏輯的多少算完成
3. 目標必須是可以達到的(Attainable):思考目標實現(xiàn)的可行性有多大?今天的任務(wù)是否能在一天內(nèi)完成
4. 目標必須和其他目標具有相關(guān)性(Relevant):思考目標是否和其他目標具有關(guān)聯(lián)。
5. 目標必須具有明確的截止期限(Time-based):人為的設(shè)置計劃時間軸,什么時間開始?什么時間結(jié)束?什么時候又是計劃的關(guān)鍵節(jié)點?
簡單總結(jié)為一句話:就是不加班有計劃的完成今天的任務(wù)。
這里為什么要用SMART 原則來裝X呢?我是怕有些同學(xué)走我的彎路,填我之前的坑,有些時候我們新手比較好高騖遠,“30精通Java/C++,今天要掌握某個框架”,注意衡量好這些東西的深度和難度,然后制定一個合理的目標和計劃?這樣在遇到有難度的東西時,比較花時間的時候,你就不會輕易放棄,打退堂鼓。

萬事開頭難!第一天我們要干啥呢?我們要安慰自己準備要開始新的學(xué)習(xí)計劃了,給自己一個心理準備。??這個不是必要的。??
第一天: 制定計劃,用我們之前裝X的工具來制定一個7天上手swift的目標計劃。
第二天:了解語法,為什么說先了解語法呢?我覺得是這樣的。學(xué)武功你先學(xué)扎馬步等基本功對吧,語法就是基本功,基礎(chǔ)的東西先學(xué)好對后面的快速上手是有很大的幫助的。學(xué)這個時候你可能會覺得無聊,但請靜下心來,這真的很重要,有些人說,那也可在做的時候慢慢積累啊。我想說也可以,但是先學(xué)這基本功,會減少你百度或搜索的次數(shù)或時間,不是說說學(xué)了就不用搜索和百度/Google 了,還是要的。就相當于:磨刀不誤砍柴工??尘昧藭稌g,這時候你帶了磨刀石,就可以磨一下,這可以提高你的效率。這就相當于做中學(xué)了。我這里推薦菜鳥教程,我個人感覺篇幅還是不錯的。
第三天:做項目。找之前做過的OC項目來做。有的人說之前的項目那么大,東西那么多?你在逗我嗎?大大大哥,停一下,我這里說的做,并不是叫你把所有的功能什么都做完,這是不現(xiàn)實的。你的內(nèi)心也是不接受的。還記得我們之前裝的X嗎?先規(guī)劃一下?這一天我們先做把主框架搭好就OK了
第四天:我們把主框架搭好之后,開始編寫一線基礎(chǔ)的類,父類啊和一下Manager 類(3~5個即可,能達到我們這個項目能運行即可,看你們各位情況而定)
第五天:我們要開始學(xué)習(xí)網(wǎng)絡(luò)框架的使用,會使用就行了。后面等你能上手之后,熟悉了(不用百度/Google 就能寫50~60就差不多了)swift語法之后,在去深入的了解,某個框架的底層思想,它的邏輯是什么?有沒有可優(yōu)化的?這些都是要高深的武功是心法,我們先練習(xí)型---->再到心法。當然是我個人的見解,大俠都是從內(nèi)到外的。我這種是先會使用,再去研究底層的。(大俠請忽視,此處省略1W膜拜DL的字)
第六天:學(xué)會使用兩個列表TableView 和 CollectionView ,會用就行了,先會使用,然后一步一步去深入
第七天:前一天我們把列表學(xué)了,還沒有去自定義cell 和設(shè)置里面的東西(這是我的情況),然后學(xué)習(xí)一下,網(wǎng)絡(luò)數(shù)據(jù)的解析,為列表設(shè)置數(shù)據(jù)。和字典轉(zhuǎn)模型的一些常規(guī)操作,能把數(shù)據(jù)在列表中展示即可
第八天:學(xué)習(xí)一下swift 和 OC 的互用,OC 怎么調(diào)swift 的,swift 怎么調(diào)用OC 的
總結(jié):
經(jīng)過這些天的學(xué)習(xí),你應(yīng)該能上手了,簡單的應(yīng)該都會寫了。就是不熟,然后接著完善OC項目中的某一個模塊,慢慢來,把整個模塊分解出來,慢慢的深入,你就發(fā)現(xiàn)慢慢的經(jīng)過再一個7天。你就會運用自如了。這個前提是你之前是OC開發(fā)者,所有API都是差不多的。不會都自己搜一搜,我就是這樣現(xiàn)學(xué)現(xiàn)賣的。一個月之后,你就深深的愛上了這門語言,因為簡單快捷。就是類型的轉(zhuǎn)換和判斷有點繁瑣,總之就是代碼少了,判斷多了。。??
感謝你能閱讀到最后。。。也希望你馬上開始自己的學(xué)習(xí)之路,你會發(fā)現(xiàn)真不難。難的是怎么去堅持。。。希望你成功。。。