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

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

如果大家需要可以評論或者私信我,我會將我文章中分享的圖書 pdf、epub、mobi 版本共享給大家!

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

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

下面我將這幾個大點逐一拆分進行細致的講解 ... ...

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

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

  1. @property 是什么?它會自動生成什么?不同的參數(shù)/屬性 代表著什么意思?使用場景是什么?
  1. UITableView , UICollectionView 在使用的時候, 不同的自定義cell、item是否應用熟練,?
  1. Autolayout是否熟練?
  1. MVC是否理解?其他的理解嗎?例如: MVVM , MVP
  1. 網(wǎng)絡層有了解嗎? NSURLSession有什么優(yōu)點嗎?為什么使用HTTPS?
  1. AFN, SDWebImage 這兩個剛剛接觸的框架, 他們的基本運行原理你了解嗎?
  1. CGContextRef 了解嗎?
  1. CABasicAnimation 了解嗎?
  1. 列表控件多時為什么會卡?能優(yōu)化嗎?怎么優(yōu)化?
  1. 為什么棄用UIWebView?它有什么問題?用什么替代?
  1. pthread、NSLock 用過嗎?使用有什么注意的地方嗎?
  1. copy, mutableCopy 有什么區(qū)別嗎?
  1. CGD, NSThread 用過嗎?有什么區(qū)別嗎?NSRunLoop知道嗎? 它與線程的關系知道嗎?
  1. 內(nèi)存管理知道嗎?ARC是如何進行內(nèi)存布局的?怎么做到的自動釋放?@autoreleasepool 用過嗎?它是做什么的?
  1. Delegate、NSNotification、KVO、KVC、Block都知道嗎?它們是做什么的?什么場景使用?
  1. 一切皆對象你同意嗎?
  1. Runtime 你用過嗎? (基本的使用也可以) OC是動態(tài)語言你同意嗎?
  1. OC 有多繼承嗎?Category?
  1. 沙盒知道嗎?用來干什么的?有幾個文件?分別什么作用?
  1. 了解過最新的流行框架嗎?WWDC?
  1. 怎么看源碼知道嗎?蘋果開發(fā)了一些源碼?
  1. Block為什么會循環(huán)引用? __block 修飾后為什么可以在block中使用?block 為什么要用copy修飾?

... ...

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

其實不然, 正因為我是填過坑, 所以才不想讓你們的學習之路漫漫, 這些都是一些基本的問題, 說出來說明你關注的問題比較深入, 說不出來也沒關系, 你知道了自己當前的問題, 以及努力的方向, 相信總有一天, 回過頭來看這些問題, 對你來說, 不值一提. 瞬間秒殺

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

2.學會使用他人的框架, 并且從中吸取你需要的知識

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

AFN 基本結構:

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

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

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

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

AFURLResponseSerialization 響應處理,序列化、回調(diào)分發(fā)、數(shù)據(jù)處理等.

AFSecurityPolicy 請求認證

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

值得借鑒的地方:

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

... ...

再舉個栗子

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

那么什么是函數(shù)響應式編程?

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

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

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

這里只是進行一個簡單的介紹,RAC方面的話還需要下功夫去學習一下,有興趣的同學可以follow我,我以后會出相關使用的教程等。

3.融會貫通, 在自己編碼時適當?shù)氖褂靡恍┰O計模式

其實關于設計模式部分還是有很多需要聊得,這里簡單對其進行一個介紹

什么是設計模式?

我的理解來看,它是為了各個場景而生,在各種不同情況下,要怎么解決問題的一種方案!如我們老生常談的面向?qū)ο?/strong>就是設計模式的一種,常類別或者對象來描述

那么這里我推薦給大家一本入門的書,大話設計模式,很適合新手看,中級也可以查漏補缺,就是這本
我有它的pdf版本,會在網(wǎng)盤中共享出來。

這里還有幾本設計模式、技能擴展相關的文章以及圖書,大家可以借鑒一下

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

4. 多練、多學、多分享

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

無論在工作還是平時,一定要多于他人溝通自己的想法,分享自己的心得,總結自己技巧、想法。

我在這里強烈推薦大家開始寫博客,當做筆記也好,寫著玩當日記也罷,寫什么都可以,最主要的是邁開第一步,相信以后的路會有很多條供你選擇。

一定要經(jīng)常進行總結,將平時的Bug、Category、Views、Animations 等 統(tǒng)統(tǒng)總結起來,可以揉到一起、也可以放到github上與大家分享自己的小Demo。

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

這是我總結經(jīng)驗的第二篇文章,總共四篇,希望可以幫助到你!

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,533評論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,055評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,365評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,561評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,346評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 54,889評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,978評論 3 439
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,118評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,637評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,558評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,739評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,246評論 5 355
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 43,980評論 3 346
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,362評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,619評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,347評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,702評論 2 370

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