iOS開(kāi)發(fā)學(xué)習(xí)路線

前言

這里筑夢(mèng)師,是一名正在努力學(xué)習(xí)的iOS開(kāi)發(fā)工程師,目前致力于全棧方向的學(xué)習(xí),希望可以和大家一起交流技術(shù),共同進(jìn)步,用簡(jiǎn)書(shū)記錄下自己的學(xué)習(xí)歷程.

個(gè)人學(xué)習(xí)方法分享
淺談iOS進(jìn)階路線
[如何優(yōu)雅的使用Mac進(jìn)行開(kāi)發(fā)]稍后更新

本文閱讀建議
1.一定要辯證的看待本文.
2.本文主要是本人對(duì)iOS開(kāi)發(fā)經(jīng)驗(yàn)中總結(jié)的知識(shí)點(diǎn)
3.本文所有觀點(diǎn)僅代表本人.
4.本文只闡述學(xué)習(xí)路線和學(xué)習(xí)當(dāng)中的重點(diǎn)問(wèn)題.需要讀者自己使用百度進(jìn)行拓展學(xué)習(xí).
5.本文所表達(dá)觀點(diǎn)并不是最終觀點(diǎn),還會(huì)更新,因?yàn)楸救诉€在學(xué)習(xí)過(guò)程中,有什么遺漏或錯(cuò)誤還望各位指出.
6.覺(jué)得哪里不妥請(qǐng)?jiān)谠u(píng)論留下建議~
7.覺(jué)得還行的話就點(diǎn)個(gè)小心心鼓勵(lì)下我吧~

目錄
1.對(duì)本職業(yè)看法
2.學(xué)習(xí)方法
3.職業(yè)規(guī)劃
4.產(chǎn)品公司&外包公司
5.做一個(gè)負(fù)責(zé)任的開(kāi)發(fā)者
6.iOS開(kāi)發(fā)學(xué)習(xí)路線
7.iOS基礎(chǔ)知識(shí)點(diǎn)
8.iOS中級(jí)知識(shí)點(diǎn)
9.iOS高級(jí)知識(shí)點(diǎn)
10.官方Kit

對(duì)本職業(yè)看法

16年我嘗試加入各種iOS開(kāi)發(fā)交流群,群里的氣氛大致就是:學(xué)什么iOS,iOS完了,OC完了.群里大致三種人:誰(shuí)有企業(yè)開(kāi)發(fā)證書(shū),馬甲包了解一下,iOS某網(wǎng)課推廣.至今,大部分iOS開(kāi)發(fā)群還都是僅供吹水用,偶爾能碰見(jiàn)幾個(gè)好心人解決一下問(wèn)題.


個(gè)人觀點(diǎn)

個(gè)人觀點(diǎn):iOS開(kāi)發(fā)這個(gè)職業(yè),不是別人說(shuō)完就完的,那些說(shuō)完了的人都是因?yàn)榧夹g(shù)菜,沒(méi)有權(quán)威性,不想想自己為什么菜,為什么沒(méi)有和唐巧王巍在一個(gè)高度,因?yàn)椴?

還沒(méi)有到達(dá)一個(gè)高度就輕易否定一個(gè)職業(yè),注定被這個(gè)職業(yè)淘汰.

所以,無(wú)視掉這種人這么荒謬的觀點(diǎn),那些真正有技術(shù),懂得學(xué)習(xí)的iOS高級(jí)開(kāi)發(fā)工程師,現(xiàn)在正在各大企業(yè)(騰訊百度阿里等),一句話,不要有比上不足比下有余的態(tài)度.努力學(xué)習(xí).

真正會(huì)學(xué)習(xí)的人,不會(huì)說(shuō)iOS完了,而是想著如何提升自己,你想想,真正牛逼的人,真的只會(huì)iOS開(kāi)發(fā)這一種嗎?


學(xué)習(xí)方法

面對(duì)有難度的功能,不要忙著拒絕,而是挑戰(zhàn)一下,學(xué)習(xí)更多知識(shí).

盡量獨(dú)立解決問(wèn)題,而不是在遇到問(wèn)題的第一想法是找人.

多學(xué)習(xí)別人開(kāi)源的第三方庫(kù),能夠開(kāi)源的庫(kù)一定有值得學(xué)習(xí)的地方,多去看別的大神的博客.

作為一個(gè)程序員,如果你停止了學(xué)習(xí),你也必將會(huì)被這個(gè)團(tuán)隊(duì)淘汰.

要把學(xué)習(xí)的技能當(dāng)做興趣,而不是為了掙錢去學(xué)習(xí),是為了學(xué)習(xí)技能而學(xué)習(xí).

有給自己定制一個(gè)詳細(xì)的職業(yè)規(guī)劃和人生規(guī)劃,大到5~10年,小到近3年(并且細(xì)化到月)的計(jì)劃.

不要盲目的面試,要針對(duì)即將面試的工作,準(zhǔn)備面試.

首先針對(duì)一個(gè)自己沒(méi)有接觸到的知識(shí),先使用 百度\谷歌等網(wǎng)站搜索資料.然后進(jìn)行學(xué)習(xí)

這是個(gè)好東西,我勸你多用用https://developer.apple.com/search/

嘗試寫一個(gè)demo,對(duì)新技術(shù)進(jìn)行熟悉.

如果市面上有成熟的Demo或者第三方庫(kù),下載下來(lái)進(jìn)行學(xué)習(xí).

在熟悉的過(guò)程中,遇到了任何問(wèn)題,再進(jìn)行百度/谷歌,學(xué)習(xí)不同人的不同看法和解決方法.


職業(yè)規(guī)劃

個(gè)人觀點(diǎn)

首先是針對(duì)iOS這個(gè)行業(yè),找不到工作要從自身找原因,為什么自己沒(méi)有大公司的工作經(jīng)歷,為什么大公司會(huì)把自己斃掉,因?yàn)閷?shí)力不夠,因?yàn)槟悴?你不夠強(qiáng).要從自身找原因,是,培訓(xùn)機(jī)構(gòu)一陣子培訓(xùn)了一堆iOS開(kāi)發(fā)工程師,但你不能從特么一堆菜鳥(niǎo)中殺出去,你就是菜鳥(niǎo),不要怨天尤人了,好好努力學(xué)習(xí).

不要只做到鶴立雞群,而想著怎么離開(kāi)這群雞,重歸鶴群.

針對(duì)程序員行業(yè),這是一個(gè)需要努力奮斗的行業(yè),也許他并不需要你有多高的文憑,好的文憑可以去大公司工作,沒(méi)有好的文憑,但擁有豐富的工作經(jīng)驗(yàn),和開(kāi)源庫(kù),也會(huì)是你本人實(shí)力的體現(xiàn).所以,努力學(xué)習(xí),路是自己走出來(lái)的,原地踏步誰(shuí)也救不了你.

職業(yè)規(guī)劃一般分為兩種,橫向和縱向,程序員行業(yè)橫向走項(xiàng)目經(jīng)理提成獲得分紅,縱向發(fā)展成為技術(shù)經(jīng)理,必要時(shí)可以自行創(chuàng)業(yè)


產(chǎn)品公司&外包公司

外包公司與產(chǎn)品公司有什么區(qū)別呢,本質(zhì)上的區(qū)別就是,模式不同。產(chǎn)品公司針對(duì)的是自己的產(chǎn)品,如何升級(jí)迭代做到更好,擁有更多的用戶流量,如何設(shè)計(jì)功能進(jìn)行盈利。而外包公司針對(duì)的是客戶,項(xiàng)目經(jīng)理往往會(huì)和銷售談妥一件件生意,隔一段時(shí)間開(kāi)一個(gè)產(chǎn)品會(huì)議,使得開(kāi)發(fā)部門,人手幾個(gè)項(xiàng)目一起開(kāi)發(fā)。這兩種模式也是各有利弊。

先說(shuō)外包公司的模式吧,一個(gè)好的外包公司,可能福利會(huì)好很多,階級(jí)斗爭(zhēng)不是很明顯,大家就像打工的一樣,拿著工資和項(xiàng)目提成,項(xiàng)目比較緊,成熟的外包公司擁有統(tǒng)一化的管理,和優(yōu)秀的代碼規(guī)范;

但如果是比較差的外包公司,那就不一樣了,整體項(xiàng)目以完成為目的,不需要維護(hù),往往只需要做出來(lái)一個(gè)雛形,不會(huì)到處崩潰,交貨之后,此app將再也沒(méi)有關(guān)系,如果需要維護(hù),就再交錢。不論好與壞的外包公司,他的盈利模式就像是流水線,只需要出貨量,不要求質(zhì)量。這對(duì)于剛剛步入程序員行列的人會(huì)很不利,會(huì)養(yǎng)成不用維護(hù),不用注重用戶體驗(yàn),不用做流暢度,耗電量,并發(fā)量的測(cè)試的壞習(xí)慣,得過(guò)且過(guò)。

總之不用考慮太多。這也是市面上大公司有些會(huì)看你之前的工作經(jīng)歷的原因,如果是外包,對(duì)不起,我們不要。

產(chǎn)品公司的模式,就是升職加薪,干得越久福利越好,萬(wàn)一你比較幸運(yùn),有幸成為未來(lái)幾年要火的產(chǎn)品的開(kāi)發(fā)者,那就是offer不斷啊。產(chǎn)品公司往往分為有成品項(xiàng)目和創(chuàng)業(yè)兩種。

成品項(xiàng)目人員變動(dòng)一般較少,階級(jí)斗爭(zhēng)比較嚴(yán)重,為了職位更上一層樓,勾心斗角。不過(guò)在開(kāi)發(fā)團(tuán)隊(duì)還是比較罕見(jiàn)的,大家大部分都是想跳槽的。

創(chuàng)業(yè)公司往往需要人才,全面性的人才,就單單說(shuō)iOS,一個(gè)創(chuàng)業(yè)公司可能會(huì)要求你會(huì) 直播,支付,藍(lán)牙,聊天,這也都是老功能了,現(xiàn)在都是什么 AR啊 人臉識(shí)別啊。你不學(xué)習(xí)新知識(shí),注定被淘汰。外包公司也有一點(diǎn)好處就是,涉及的應(yīng)用多,那功能也就自然而然比較多(如果全部接的那種簡(jiǎn)單的應(yīng)用當(dāng)我沒(méi)說(shuō))。


做一個(gè)負(fù)責(zé)任的開(kāi)發(fā)者

那么現(xiàn)在說(shuō)正題,如何成為負(fù)責(zé)任的開(kāi)發(fā)者?

首先要負(fù)責(zé),對(duì)自己的項(xiàng)目負(fù)責(zé)。如果是自己新開(kāi)的項(xiàng)目,要保證隨時(shí)都能清晰的想到項(xiàng)目當(dāng)中每個(gè)地方是怎么實(shí)現(xiàn)的,測(cè)試或者用戶反饋了問(wèn)題以后,能立馬想到可能的錯(cuò)誤原因。

如果是接手的項(xiàng)目,就要盡快去了解主要的界面和功能是如何實(shí)現(xiàn)的。你只有先做好自己分內(nèi)的事,才有機(jī)會(huì)去顧暇別人的事。

1.保持一個(gè)良好的代碼規(guī)范以及文件架構(gòu)。
2.每天要給自己做一個(gè)TodoList 和一個(gè)BugList,時(shí)刻保持自己是在有效率的工作,嚴(yán)重的需要時(shí)間修復(fù)的bug匯報(bào)上去,小bug自己記下來(lái)偷偷修復(fù)。
3.有空時(shí)將排行榜上的應(yīng)用下載排名靠前的應(yīng)用,去欣賞并分析主流app的界面,功能實(shí)現(xiàn),在拿到設(shè)計(jì)圖時(shí),去考慮界面的合理性,功能怎么實(shí)現(xiàn)最符合用戶的操作習(xí)慣。
4.要有一定的協(xié)調(diào)能力,交流能力,稍微了解一點(diǎn)后臺(tái)知識(shí)以及前端知識(shí)。
5.信念,一個(gè)不做初級(jí)iOS開(kāi)發(fā)的信念。多去了解,不會(huì)被別人當(dāng)小白,學(xué)多少都是自己的,至于在你去學(xué)習(xí)的時(shí)候,有人會(huì)說(shuō)風(fēng)言風(fēng)語(yǔ),這就是區(qū)別,他們活該初級(jí),自己不會(huì)的東西,也看不慣別人去學(xué)習(xí)。所以,一定要有一個(gè)規(guī)劃,按照自己正確的規(guī)劃去學(xué)習(xí),去成長(zhǎng),別原地踏步。

關(guān)于后臺(tái)你需要懂什么呢,如何設(shè)計(jì)接口文檔,接口怎么設(shè)計(jì)合理,后臺(tái)拿到你請(qǐng)求的數(shù)據(jù)是怎么存儲(chǔ)的,你需要的數(shù)據(jù)后臺(tái)又是怎么查詢給你的,請(qǐng)求方式什么時(shí)候用get什么時(shí)候適合post,JSON格式的數(shù)據(jù)以及XML數(shù)據(jù)又有什么好處。

關(guān)于前端你需要了解什么呢,這里大致提一下H5和app交互,比如H5怎么調(diào)你的方法,你怎么調(diào)H5的方法,數(shù)據(jù)如何傳遞,圖片如何交給H5顯示,這些都需要去了解。

有些人會(huì)覺(jué)得,我上面說(shuō)的這都是廢話,或者說(shuō)你知道有什么用嗎,又沒(méi)你提意見(jiàn)的資格。iOS的群普遍是什么風(fēng)氣,就是你提出來(lái)一個(gè)建議或者意見(jiàn),如果路人甲會(huì),他就趾高氣昂懟你一頓,如果他不會(huì),他就會(huì)說(shuō),會(huì)這個(gè)又沒(méi)用,懂這么多又沒(méi)用什么的bulabulabula。這就是第五點(diǎn)。

如果你想變強(qiáng),那就做點(diǎn)什么.


iOS開(kāi)發(fā)學(xué)習(xí)路線

iOS定位

  • iOS定位

    • 簡(jiǎn)介:這里的定位,僅僅代表我個(gè)人意見(jiàn),僅符合本筆記如何學(xué)習(xí)從哪里開(kāi)始學(xué)習(xí),怎么去學(xué)習(xí)來(lái)說(shuō).
    • 尚未入門
      • 如何判斷自己是否入門
        • 是否了解Mac
        • 是否了解Xcode
        • 是否了解Objective-C
        • 是否會(huì)使用UI控件.
        • 如果上面的都不了解,那說(shuō)明你還沒(méi)有入門,請(qǐng)從iOS學(xué)習(xí)路線開(kāi)始學(xué)習(xí).
    • 初級(jí)iOS開(kāi)發(fā)
      • 說(shuō)明:作為一名初級(jí)的iOS開(kāi)發(fā),你需要具備以下技能
      • 必備技能(全部都會(huì)的情況下查看下一項(xiàng))
        • Xcode的使用
        • 第三方庫(kù)的靈活使用
          • AFN
          • MJRefresh
        • 各種網(wǎng)站的使用
      • 如何判斷是否可以升階
        • 是否了解AFNetworking 的實(shí)現(xiàn)原理
        • 是否了解SDAutolayout/Masonry 一種布局庫(kù)的原理
        • 是否能夠處理基本的iOS崩潰原因/無(wú)法編譯原因/無(wú)法上架原因?
        • 是否擁有了一定的工作效率,穩(wěn)定的工作效率.(而不是說(shuō),上面派了一個(gè)活下來(lái),忙都忙不完,天天加班,還一堆bug)
        • 是否能夠處理第三方庫(kù)引起的崩潰.
        • 是否可以很好的融入工作環(huán)境,完成每一階段的工作指標(biāo),而不會(huì)讓自己疲憊不堪.
      • 結(jié)論
        • iOS中級(jí)開(kāi)發(fā)說(shuō)白了,就是你學(xué)會(huì)了基本的UI界面搭建,上架,沉淀一段時(shí)間,你覺(jué)得自己還適合這門行業(yè),還適合,還能接受 這個(gè)所謂的iOS開(kāi)發(fā)工程師的行業(yè).你就可以說(shuō)是一名中級(jí)iOS開(kāi)發(fā).
        • 這個(gè)沉淀時(shí)間 大約在1年的實(shí)際工作中,就可以完成.
        • 如果你覺(jué)得這門行業(yè)不適合你,請(qǐng)仔細(xì)結(jié)合自身情況,是否轉(zhuǎn)另一門計(jì)算機(jī)語(yǔ)言,還是徹底轉(zhuǎn)行.
    • 中級(jí)iOS開(kāi)發(fā)
      • 說(shuō)明:作為一名中級(jí)的iOS開(kāi)發(fā),你需要具備以下技能
      • 必備技能(全部都會(huì)的情況下查看下一項(xiàng))
        • 應(yīng)用的內(nèi)存處理
        • 應(yīng)用的推送處理
        • 應(yīng)用的模塊化/單元測(cè)試
        • 應(yīng)用的第三方集成/集中化管理/穩(wěn)定迭代
        • 閱讀強(qiáng)大的第三方源碼/擁有快速上手新的第三方庫(kù)的能力.
        • 能夠接受各種新功能的開(kāi)發(fā)(這里是指,即使你沒(méi)有做過(guò),但是你仍然可以憑借著學(xué)習(xí),解決任何業(yè)務(wù)需求:例如:藍(lán)牙.AR.攝像頭.硬件交互.等)
        • 清楚明白數(shù)據(jù)的傳遞方式,應(yīng)用與后臺(tái)如何交換數(shù)據(jù),交換數(shù)據(jù)的過(guò)程,結(jié)果,格式.
        • 多線程的靈活使用.
        • 各種并發(fā)事件的處理/以及界面的合理性/流暢度
        • 設(shè)計(jì)模式的靈活使用.
      • 如何判斷是否可以升階
      • 結(jié)論
    • 高級(jí)iOS開(kāi)發(fā)
      • 說(shuō)明:作為一名高級(jí)的iOS開(kāi)發(fā),你需要具備以下技能(我不是高級(jí)開(kāi)發(fā),所以這里只能給你們提供建議.)
      • 必備技能
        • 應(yīng)用的組件化/架構(gòu)分層
        • 數(shù)據(jù)結(jié)構(gòu),操作系統(tǒng),計(jì)算機(jī)網(wǎng)絡(luò)都有自己的了解和認(rèn)知
        • Shell腳本/python/Ruby/JS 至少會(huì)一種.

詳細(xì)學(xué)習(xí)路線

  • 學(xué)習(xí)路線
    • 簡(jiǎn)介
      這里只簡(jiǎn)單闡述一些概念性的東西,以及學(xué)習(xí)路線規(guī)劃,真正的知識(shí)請(qǐng)從iOS基礎(chǔ)知識(shí)點(diǎn)往下開(kāi)始看.
    • Objective-C
      • 介紹
      • 概念
      • 編譯原理
    • 程序啟動(dòng)原理
      • App組成
        • Info.plist
        • .pch
      • 打開(kāi)程序
      • 執(zhí)行main函數(shù)
      • 執(zhí)行UIApplicationMain函數(shù)
      • 初始化UIApplication(創(chuàng)建設(shè)置代理對(duì)象,開(kāi)啟事件循環(huán))
      • 監(jiān)聽(tīng)系統(tǒng)事件
      • 結(jié)束程序.
    • 語(yǔ)法.(此處定義可能略失嚴(yán)謹(jǐn),口頭教學(xué)為主)
      • 基礎(chǔ)語(yǔ)法
      • 對(duì)象.
      • 屬性
      • 數(shù)據(jù)類型
      • 方法
      • 繼承
      • Frame/CGRect/CGPoint和CGSize
      • 內(nèi)存(針對(duì)MRC下情況進(jìn)行介紹)
      • ARC/MRC
      • 弱引用/強(qiáng)引用
      • Assign,retain,copy,strong
      • import 和@class的區(qū)別
    • Xcode使用
      • 首先是針對(duì)Xcode菜單欄,希望自己可以去翻譯一下每個(gè)菜單里每項(xiàng)功能的英文都是什么意思,有助于自己熟悉并加深印象的使用Xcode.
      • 熟悉Xcode的各個(gè)功能.
    • UIKit控件.
    • 界面分析(下載App進(jìn)行學(xué)習(xí)).
      • 在這里推薦有興趣的開(kāi)發(fā)人員,下載并分析,AppStore中的每項(xiàng)分類的top50的應(yīng)用,多學(xué)習(xí)大公司以及流行應(yīng)用是如何開(kāi)發(fā)應(yīng)用的,其中流行的,新穎的開(kāi)發(fā)界面的方式可以總結(jié)下來(lái),猜想在大應(yīng)用中,別的程序員是如何開(kāi)發(fā)的.
      • 界面適配
    • 代碼架構(gòu).
    • 各種工具、第三方的使用.
      • 其實(shí)每個(gè)項(xiàng)目的建立都大致分為:項(xiàng)目框架搭建,原生界面搭建,嵌入第三方庫(kù).有很多功能都會(huì)用到第三方庫(kù),大多數(shù)第三方庫(kù)都是本著快速開(kāi)發(fā),完整功能實(shí)現(xiàn)的目的存在的.需要開(kāi)發(fā)人員能夠根據(jù)業(yè)務(wù)邏輯不同,選擇最好最優(yōu)質(zhì)的第三方庫(kù)進(jìn)行使用.
    • 代碼封裝
      • 當(dāng)使用較多第三方庫(kù)后,要求開(kāi)發(fā)人員學(xué)習(xí)其開(kāi)發(fā)特點(diǎn),以及其封裝手法,運(yùn)用在自己的項(xiàng)目上,封裝自己的代碼.靈活運(yùn)用.
    • 完整項(xiàng)目.
    • 開(kāi)發(fā)技巧
    • 個(gè)人心得

iOS基礎(chǔ)知識(shí)點(diǎn)

  • iOS基礎(chǔ)知識(shí)點(diǎn)
    • 如何學(xué)習(xí)iOS
      • 剛剛?cè)腴T(如何學(xué)習(xí))
        • 打好基礎(chǔ),學(xué)習(xí)OC中各種常用語(yǔ)法.
        • 學(xué)習(xí)如何上架,上架會(huì)因?yàn)槭裁幢痪?了解App上架規(guī)則.
        • 多學(xué)習(xí)官方說(shuō)明文檔.
      • 剛剛?cè)肼?年(如何穩(wěn)定)
        • 多看開(kāi)源或者注明的第三方庫(kù).
        • 收藏并閱讀各種大神的博客或者論壇.
        • 開(kāi)始考慮項(xiàng)目中的細(xì)節(jié)優(yōu)化,內(nèi)存處理和耗電情況
      • 入職3年(如何進(jìn)階)
        • 開(kāi)始涉獵不止于iOS領(lǐng)域中的知識(shí),會(huì)去了解相關(guān)職位的基礎(chǔ)知識(shí),例如前端和后臺(tái)或者服務(wù)器運(yùn)維,或者項(xiàng)目相關(guān)知識(shí),具體往自己的職業(yè)規(guī)劃靠攏
    • 框架的學(xué)習(xí)
      • 蘋果自帶框架
      • 第三方框架
        • AFNetworking
        • SDAutoLayout
        • YYKit
        • SDWebImage
        • MJRefresh
        • MJExtension
        • Bugly
        • Qiniu
        • Masonry
        • TZImagePickerController
        • Hyphenate_CN
    • 基礎(chǔ)UI控件
      • UILabel 標(biāo)題欄
      • UIButton 按鈕
      • UIImageView 圖片視圖
      • UITextField 文本輸入框
      • UITextView 文本展示視圖
      • UIProgressView 進(jìn)度條
      • UISlider 滑動(dòng)開(kāi)關(guān)
      • UIGesture 手勢(shì)
      • UIActivityIndicator 菊花控件
      • UIAlertView(iOS8廢除) 警告框
      • UIActionSheet(iOS8廢除) 操作表單
      • UIAlertController(iOS8出現(xiàn)) 警告視圖控制器
      • UIScrollView 滾動(dòng)視圖
      • UIPageControl 頁(yè)面控制器
      • UISearchBar 搜索框
      • UITableView 表視圖
      • UICollectionView集合視圖
      • UIWebView網(wǎng)頁(yè)瀏覽器
      • UISwitch開(kāi)關(guān)
      • UISegmentControl選擇按鈕
      • UIPickerView選擇器
      • UIDatePicker日期選擇器
      • UIToolbar工具欄
      • UINavigationBar通知欄
      • UINavigationController通知視圖控制器
      • UITabbarController選擇視圖控制器
      • UIImagePickerController相冊(cè)
      • UIImage圖片
    • Xcode的使用
      • 基礎(chǔ)操作 狀態(tài)欄
      • 偏好設(shè)置
      • Xcode Source Control 源代碼管理器
      • Xcode workSpace工作組
      • Xcode Scheme 計(jì)劃
      • Xcode AutoLayout 約束
      • Xcode CoreData數(shù)據(jù)庫(kù)
      • LLDB 斷點(diǎn)調(diào)試
      • StoryBoard
      • 界面預(yù)覽
      • 界面適配
      • 內(nèi)存監(jiān)測(cè)
      • 全局?jǐn)帱c(diǎn)
      • 全局搜索替換
    • 數(shù)據(jù)存儲(chǔ)
      • plist
      • NSKeyedArchiver
      • SQLite
      • FMDB
      • CoreData
      • NSUserDefault
      • 沙盒存儲(chǔ)
      • NSDictionary歸檔
    • App生命周期
      • 應(yīng)用生命周期
      • 控制器生命周期
        • alloc
        • init
        • 創(chuàng)建View
        • ViewDidLoad
        • ViewWillAppear
        • ViewDidAppear
        • ViewWillDisappear
          • 視圖將要消失 (做一些視圖將要消失時(shí)的UI的處理)
        • ViewDidDisappear
          • 視圖已經(jīng)消失 (做一些視圖消失之后數(shù)據(jù)的處理)
          • viewDidDisappear銷毀定時(shí)器
        • dealloc
        • didReceiveMemoryWarning
    • 開(kāi)發(fā)者賬號(hào)&上架流程
      • 個(gè)人
      • 公司
      • 企業(yè)
    • 常用知識(shí)
      • 通信
      • NS系列
      • 宏定義
      • 視圖層次
      • 切換視圖
      • 深淺拷貝
      • 對(duì)象序列化
      • 寫入文件
      • 獲取沙盒路徑
      • 翻轉(zhuǎn)視圖
      • 延伸視圖
      • 九大基本數(shù)據(jù)類型
      • 九宮格
      • 坐標(biāo)比較
      • UIColor 、CIColor和CGColor 之間的關(guān)系
      • 畫(huà)圖
      • 靜態(tài)變量
      • tag值
      • 延時(shí)執(zhí)行方法
      • 界面旋轉(zhuǎn)+狀態(tài)欄隱藏
      • plist文件
      • KVC/KVO
      • 謂詞NSPredicate
      • 幀動(dòng)畫(huà)
      • AutoLayout
      • isKindOfClass 與 isMemberOfClass
      • Return/Break/Continue
      • Core Animation
      • CALayer
      • Quartz2D
      • 真機(jī)調(diào)試
      • 靜態(tài)庫(kù)
      • 內(nèi)存管理
      • iPad與iPhone的區(qū)別
      • 響應(yīng)鏈
      • 異常捕捉
      • 國(guó)際化
      • 代碼模塊化
      • 類別/擴(kuò)展

中級(jí)知識(shí)點(diǎn)

  • 設(shè)計(jì)模式
  • UIScrollView/UITableView/UICollectionView 的嵌套
  • 動(dòng)態(tài)行高
  • 通知/代理/block
  • 程序啟動(dòng)原理
  • 觸摸事件/手勢(shì)
  • 圖文混編
  • Runtime
  • NSRunLoop
  • GCD
  • ReactiveCocoa開(kāi)發(fā)
  • 3DTouch
  • 界面渲染
  • Charles花瓶抓包
  • 區(qū)分模擬器/真機(jī)項(xiàng)目
  • 常用知識(shí)
    • 單例模式
    • 多線程
    • 網(wǎng)絡(luò)請(qǐng)求
    • 定位
    • 源代碼管理Git
    • 真機(jī)調(diào)試
    • 蘋果內(nèi)購(gòu)/廣告
    • 推送/遠(yuǎn)程推送
    • 音頻/視頻/二維碼
    • Block
    • 藍(lán)牙/傳感器
    • 物理仿真器UIDynamic
    • 通訊錄獲取

iOS高級(jí)知識(shí)點(diǎn)

  • iOS高級(jí)知識(shí)點(diǎn)
    • Socket
    • XMPP
    • 加密
      • MD5詳解
      • Base64加密解密
      • RSA非對(duì)稱加密
      • AES對(duì)稱加密
    • 音頻
      • 基礎(chǔ)
      • Core Audio
      • Audio Toolbox
      • OpenAL
      • AVFoundation
      • Speex語(yǔ)音聊天
      • AudioQueue/AudioSession
      • Speex簡(jiǎn)介
    • 視頻
      • AAC視頻.H264推流
      • P2P傳輸
    • 直播
      • 直播的技術(shù)分析與實(shí)現(xiàn)
      • RTMP協(xié)議
      • RTMP直播應(yīng)用與延時(shí)分析
      • 如果做一款inke版的App
      • 推流發(fā)布和播放RTMP
      • FFmpeg
      • 基于FFmpeg的推流器
      • HLS流媒體傳輸協(xié)議(HTTP Live Streaming)
      • FFmpeg
      • ijkPlayer
    • 算法
      • 簡(jiǎn)介
      • 冒泡排序
      • 快速排序
      • 插入排序
      • 歸并排序
      • 二分查找
      • 希爾排序
      • 動(dòng)態(tài)規(guī)劃
      • 堆排序

官方Kit

  • ARKit.
  • SiriKit
  • HealthKit
  • HomeKit
  • SearchKit
  • IOKit
  • PDFKit
  • CloudKit
  • GameplayKit
  • SpriteKit
  • SceneKit
  • MusicKit
  • ResearchKit
  • MapKit
  • StoreKit
  • AVKit

本文于去年9月編輯總結(jié),后續(xù)片段為逆向知識(shí)點(diǎn)和原理知識(shí)點(diǎn),因?yàn)閭€(gè)人水平原因已進(jìn)行刪減,如有興趣了解可以看我的這篇文章 淺談iOS進(jìn)階路線.


結(jié)束語(yǔ)

如果您對(duì)這篇文章有什么意見(jiàn)或者建議,請(qǐng)?jiān)u論與我討論.
如果您覺(jué)得還不錯(cuò)的話~可以點(diǎn)個(gè)喜歡鼓勵(lì)我哦.
如果您想和我一起學(xué)習(xí),請(qǐng)毫不吝嗇的私信我吧~
介個(gè)是我的個(gè)人博客,歡迎參觀哦~

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

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

  • 早上七點(diǎn)起床,跑步5.5公里,用時(shí)33分鐘,跑完做拉伸運(yùn)動(dòng)。回到室內(nèi)做俯臥撐33*3個(gè)。徒手深蹲36*3。吃兩個(gè)雞...
    靈與肉的修行閱讀 186評(píng)論 0 0
  • 搭建過(guò)程參考:如何搭建一個(gè)獨(dú)立博客 但其中還有些錯(cuò)誤之處,后面自己總結(jié)記錄一下我自己搭建的過(guò)程。
    我是7號(hào)_frank閱讀 320評(píng)論 0 1
  • 時(shí)間像洪水般把過(guò)去沖斷 再也望不到曾經(jīng)的道路 再也聽(tīng)不見(jiàn)往昔的聲音 再也觸不到傷口的疼痛 從今天起 風(fēng)吹不來(lái)飄零的...
    吟音閱讀 207評(píng)論 0 0
  • 今天第一次開(kāi)右舵車,剛剛開(kāi)始有點(diǎn)緊張。控制不好左右距離、一百公里后一切正常。 體驗(yàn):只要行動(dòng)、成功是早晚的事。 ...
    京心達(dá)張新波閱讀 233評(píng)論 0 0