建立iOS學(xué)習(xí)體系之內(nèi)功篇(純干貨)

我準(zhǔn)備出一系列的學(xué)習(xí)體系, 從秘籍(入門)->內(nèi)功(修煉)->心法(融合)->大成(擁有自己的學(xué)習(xí)方法)
如何建立iOS學(xué)習(xí)體系之秘籍篇(純干貨)

如果大家需要可以評(píng)論或者私信我,我會(huì)將我文章中分享的圖書 pdf硬纤、epub解滓、mobi 版本共享給大家!

做開發(fā)就像小說一樣需要修煉內(nèi)在的東西, 它將會(huì)讓你更加懂得如何走向一個(gè)更大的舞臺(tái), 這篇 內(nèi)功篇 主要將以下幾個(gè)內(nèi)容 :

  1. 當(dāng)你已經(jīng)入門iOS后, 應(yīng)該通過幾種形式來提高自己的基礎(chǔ)能力
  2. 學(xué)會(huì)使用他人的框架, 并且從中吸取你需要的知識(shí)
  3. 融會(huì)貫通, 在自己編碼時(shí)適當(dāng)?shù)氖褂靡恍┰O(shè)計(jì)模式
  4. 多練筝家、多學(xué)洼裤、多分享

下面我將這幾個(gè)大點(diǎn)逐一拆分進(jìn)行細(xì)致的講解 ... ...

1. 當(dāng)你已經(jīng)入門iOS后, 應(yīng)該通過幾種形式來提高自己的基礎(chǔ)能力

當(dāng)看到這里的時(shí)候, 相信你已經(jīng)擁有了編寫基礎(chǔ)部分的能力, 那么基礎(chǔ)部分指的是什么呢?

  1. @property 是什么?它會(huì)自動(dòng)生成什么肛鹏?不同的參數(shù)/屬性 代表著什么意思逸邦?使用場(chǎng)景是什么?
  1. UITableView , UICollectionView 在使用的時(shí)候, 不同的自定義cell在扰、item是否應(yīng)用熟練,缕减?
  1. Autolayout是否熟練?
  1. MVC是否理解芒珠?其他的理解嗎桥狡?例如: MVVM , MVP
  1. 網(wǎng)絡(luò)層有了解嗎? NSURLSession有什么優(yōu)點(diǎn)嗎皱卓?為什么使用HTTPS?
  1. AFN, SDWebImage 這兩個(gè)剛剛接觸的框架, 他們的基本運(yùn)行原理你了解嗎裹芝?
  1. CGContextRef 了解嗎?
  1. CABasicAnimation 了解嗎娜汁?
  1. 列表控件多時(shí)為什么會(huì)卡嫂易?能優(yōu)化嗎?怎么優(yōu)化掐禁?
  1. 為什么棄用UIWebView怜械?它有什么問題?用什么替代傅事?
  1. pthread缕允、NSLock 用過嗎?使用有什么注意的地方嗎蹭越?
  1. copy, mutableCopy 有什么區(qū)別嗎障本?
  1. CGD, NSThread 用過嗎?有什么區(qū)別嗎?NSRunLoop知道嗎驾霜? 它與線程的關(guān)系知道嗎案训?
  1. 內(nèi)存管理知道嗎?ARC是如何進(jìn)行內(nèi)存布局的粪糙?怎么做到的自動(dòng)釋放萤衰?@autoreleasepool 用過嗎?它是做什么的猜旬?
  1. Delegate脆栋、NSNotification、KVO洒擦、KVC椿争、Block都知道嗎?它們是做什么的熟嫩?什么場(chǎng)景使用秦踪?
  1. 一切皆對(duì)象你同意嗎?
  1. Runtime 你用過嗎掸茅? (基本的使用也可以) OC是動(dòng)態(tài)語言你同意嗎椅邓?
  1. OC 有多繼承嗎?Category昧狮?
  1. 沙盒知道嗎景馁?用來干什么的?有幾個(gè)文件逗鸣?分別什么作用合住?
  1. 了解過最新的流行框架嗎?WWDC撒璧?
  1. 怎么看源碼知道嗎透葛?蘋果開發(fā)了一些源碼?
  1. Block為什么會(huì)循環(huán)引用卿樱? __block 修飾后為什么可以在block中使用僚害?block 為什么要用copy修飾?

... ...

相信你看到這里基本已經(jīng)對(duì)現(xiàn)有的市場(chǎng)以及作者有所質(zhì)疑繁调。 老子剛學(xué)iOS,你就要求會(huì)這會(huì)那的萨蚕!

其實(shí)不然, 正因?yàn)槲沂翘钸^坑, 所以才不想讓你們的學(xué)習(xí)之路漫漫, 這些都是一些基本的問題, 說出來說明你關(guān)注的問題比較深入, 說不出來也沒關(guān)系, 你知道了自己當(dāng)前的問題, 以及努力的方向, 相信總有一天, 回過頭來看這些問題, 對(duì)你來說, 不值一提. 瞬間秒殺

相信大部分問題的答案你都可以baidu, google出來.如果有需求,我可以自問自答,再整理一篇答案.

2.學(xué)會(huì)使用他人的框架, 并且從中吸取你需要的知識(shí)

就以上面我們說過的AFNetworking舉例說明(也可以說是Alamofire):

AFN 基本結(jié)構(gòu):

AFNetWorking , 頭文件, 引入所有需要的類. 通過引入它, 你可以獲取AFN的所有功能.

AFURLSessionManager 核心類, 通過它來實(shí)現(xiàn)大部分網(wǎng)絡(luò)相關(guān)功能

AFHTTPSessionManager 作為AFURLSessionManager的子類, 實(shí)現(xiàn)請(qǐng)求優(yōu)化處理.

AFURLRequestSerialization 請(qǐng)求處理, 編解碼、優(yōu)化涉馁、拼接請(qǐng)求等.

AFURLResponseSerialization 響應(yīng)處理门岔,序列化爱致、回調(diào)分發(fā)烤送、數(shù)據(jù)處理等.

AFSecurityPolicy 請(qǐng)求認(rèn)證

AFNetworkReachabilityManager 監(jiān)聽網(wǎng)絡(luò)請(qǐng)求狀態(tài)變化

值得借鑒的地方:

  1. 使用NSRunloop 默認(rèn)在后臺(tái)保持一條線程,監(jiān)聽用戶狀態(tài)變化糠悯,不需要時(shí)休眠帮坚,需要時(shí)喚醒妻往。不需要每次都創(chuàng)建新線程來浪費(fèi)手機(jī)空間
  1. dispatch_semaphore_t 控制對(duì)異步處理返回結(jié)果的控制,避免線程之間出現(xiàn)資源競(jìng)爭(zhēng)問題
  1. 代碼思路清晰试和,結(jié)構(gòu)明確
  1. 支持多種格式的解析, 流行的多為json和xml
  1. 安全方面也給出了很多的對(duì)應(yīng)接口, 而且調(diào)用方便明了

... ...

再舉個(gè)栗子

ReactiveCocoa 函數(shù)響應(yīng)式編程

那么什么是函數(shù)響應(yīng)式編程讯泣?

我的理解是:當(dāng)一個(gè)事件發(fā)生時(shí),你需要對(duì)其進(jìn)行監(jiān)聽并作出相應(yīng)的處理阅悍,這里 傳輸這個(gè)事件的橋梁就稱為 函數(shù)響應(yīng)式編程

具體的例子:比如你要監(jiān)聽ScrollView的滾動(dòng)好渠,或者按鈕點(diǎn)擊的action,或者View根據(jù)Model的變化動(dòng)態(tài) 节视。 這一系列的東西都可以使用RAC作為實(shí)現(xiàn)拳锚,它提出了一個(gè)不一樣的編程角度!

MVVM框架的交互就可以使用RAC來搭建橋梁寻行。

這里只是進(jìn)行一個(gè)簡(jiǎn)單的介紹霍掺,RAC方面的話還需要下功夫去學(xué)習(xí)一下,有興趣的同學(xué)可以follow我拌蜘,我以后會(huì)出相關(guān)使用的教程等杆烁。

3.融會(huì)貫通, 在自己編碼時(shí)適當(dāng)?shù)氖褂靡恍┰O(shè)計(jì)模式

其實(shí)關(guān)于設(shè)計(jì)模式部分還是有很多需要聊得,這里簡(jiǎn)單對(duì)其進(jìn)行一個(gè)介紹

什么是設(shè)計(jì)模式简卧?

我的理解來看兔魂,它是為了各個(gè)場(chǎng)景而生,在各種不同情況下举娩,要怎么解決問題的一種方案入热!如我們老生常談的面向?qū)ο?/strong>就是設(shè)計(jì)模式的一種,常類別或者對(duì)象來描述

那么這里我推薦給大家一本入門的書晓铆,大話設(shè)計(jì)模式勺良,很適合新手看,中級(jí)也可以查漏補(bǔ)缺骄噪,就是這本尚困。
我有它的pdf版本,會(huì)在網(wǎng)盤中共享出來链蕊。

這里還有幾本設(shè)計(jì)模式事甜、技能擴(kuò)展相關(guān)的文章以及圖書,大家可以借鑒一下

  1. design_patterns
  1. Head First
  1. 設(shè)計(jì)模式之禪(第2版)
  1. Objective-C編程之道
  1. 程序員的自我修養(yǎng)
  1. 網(wǎng)絡(luò)是怎樣連接的
  1. 程序是怎樣跑起來的
  1. 計(jì)算機(jī)是怎樣跑起來的
  1. TCP/IP詳解卷1:協(xié)議
  1. 現(xiàn)代操作系統(tǒng)(原書第3版)
  1. 深入理解計(jì)算機(jī)系統(tǒng)(原書第3版)
  1. Python編程快速上手:讓繁瑣工作自動(dòng)化
  1. 機(jī)器學(xué)習(xí)

4. 多練滔韵、多學(xué)逻谦、多分享

當(dāng)你看過一些優(yōu)秀的框架之后,一定要試著融匯到自己的項(xiàng)目中去使用陪蜻,這樣做才能加深記憶邦马,還可以更好的去理解其原理及為什么這么做

無論在工作還是平時(shí),一定要多于他人溝通自己的想法,分享自己的心得滋将,總結(jié)自己技巧邻悬、想法。

我在這里強(qiáng)烈推薦大家開始寫博客随闽,當(dāng)做筆記也好父丰,寫著玩當(dāng)日記也罷,寫什么都可以掘宪,最主要的是邁開第一步蛾扇,相信以后的路會(huì)有很多條供你選擇。

一定要經(jīng)常進(jìn)行總結(jié)魏滚,將平時(shí)的Bug屁桑、Category、Views栏赴、Animations 等 統(tǒng)統(tǒng)總結(jié)起來蘑斧,可以揉到一起、也可以放到github上與大家分享自己的小Demo须眷。

也可以搭建自己的博客竖瘾,不需要購買域名,通過 github + hexo 就可以輕松的擁有自己的網(wǎng)頁花颗,你可以在上面隨心所欲捕传。

這是我總結(jié)經(jīng)驗(yàn)的第二篇文章,總共四篇扩劝,希望可以幫助到你庸论!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市棒呛,隨后出現(xiàn)的幾起案子聂示,更是在濱河造成了極大的恐慌,老刑警劉巖簇秒,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鱼喉,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡趋观,警方通過查閱死者的電腦和手機(jī)扛禽,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來皱坛,“玉大人编曼,你說我怎么就攤上這事∈1伲” “怎么了掐场?”我有些...
    開封第一講書人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵往扔,是天一觀的道長。 經(jīng)常有香客問我刻肄,道長,這世上最難降的妖魔是什么融欧? 我笑而不...
    開封第一講書人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任敏弃,我火速辦了婚禮,結(jié)果婚禮上噪馏,老公的妹妹穿的比我還像新娘麦到。我一直安慰自己,他們只是感情好欠肾,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開白布瓶颠。 她就那樣靜靜地躺著,像睡著了一般刺桃。 火紅的嫁衣襯著肌膚如雪粹淋。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評(píng)論 1 301
  • 那天瑟慈,我揣著相機(jī)與錄音桃移,去河邊找鬼。 笑死葛碧,一個(gè)胖子當(dāng)著我的面吹牛借杰,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播进泼,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼蔗衡,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了乳绕?” 一聲冷哼從身側(cè)響起绞惦,我...
    開封第一講書人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎洋措,沒想到半個(gè)月后翩隧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡呻纹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年堆生,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片雷酪。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡淑仆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出哥力,到底是詐尸還是另有隱情蔗怠,我是刑警寧澤墩弯,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站寞射,受9級(jí)特大地震影響渔工,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜桥温,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一引矩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧侵浸,春花似錦旺韭、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至澳腹,卻和暖如春织盼,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背酱塔。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來泰國打工悔政, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人延旧。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓谋国,卻偏偏與公主長得像,于是被迫代替她去往敵國和親迁沫。 傳聞我的和親對(duì)象是個(gè)殘疾皇子芦瘾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容