零基礎如何學習 iOS 開發?

本人零基礎(學過一點C語言,過了二級。但是基本已經就飯吃了)想學習ios開發,不知道該從何入手,應該學習哪些方面的東西。最好能系統的講解一下ios開發所涉及到的知識以及入門應該學習的東西。


作為一名混跡iOS開發圈近4年的碼農,資歷不深不淺,看到這個問題還是忍不住想回答一下。

如果你打算學習iOS開發,那麼在開始學之前,你要做好以下4個方面的準備。

——————————————————————

1 、信念。

很大程度上,學iOS就是一個信念的事情。iOS開發本身不難學,不需要你有很高的智力,只需要你能夠堅持下去。只要你心中有信念,堅持下去就會有收穫。不管你是學哪一種編程語言,不用懷疑你能不能學會,只要你肯下工夫,堅持下去就一定會成,學不會只有一個原因,你沒有付出足夠的努力。

2、英語。

幾乎所有重要語言,重要開發工具,開源項目都是在英文網站上以英文的形式展示。如果你連官方的文檔讀起來都非常困難,那還談什麼提高和進階,咱們學習iOS的所有權威的資料都來自apple開發者網站,靠逛論壇看帖子不是出路。如果這點沒達到,那就從閱讀官方文檔開始吧,找一篇你比較熟悉的技術的官方文檔,比如:View Programming Guide for iOS自己閱讀,翻譯。裡面不懂的單詞,記下來,多學幾遍,這些你不懂的單詞,在以後你看其他時文檔里還會出現無數次的。堅持幾個月後,你會發現,英文的文檔,看起來比中文的順眼了。老碼農教你學英語(1)

3、對計算機有一定的了解。

知道一些軟體開發的基礎知識,接觸過C語言、.NET、PHP等對學iOS開發也會有一定的幫助,因為很多語言是相通的。題主學過C語言,並且也通過了計算機二級,從這點上看,學習iOS開發是有天然優勢的。因為想學習iOS開發,Objc是必須要學的。學過C語言再學Objc會簡單很多。

4、一台mac。

學iOS開發需要有一個蘋果系統的電腦,最好有蘋果原配電腦,有錢就買個mac pro,八九千不算很貴,錢少就買個四五千的mac mini,如果實在沒錢又想著自學的話,那麼就只能收緊褲腰帶,厚顏買個山寨黑蘋果主機了。(組裝機一般2000 -2500可以搞定,配置大概4G 500G 硬碟內存 I3 2012 H61主板系列 顯卡GF430 以上的都可以了。 如果你的主機本身都是這樣的配置 那麼恭喜你買個20元的mac lion 系統馬上就搞定了。上面的配置裝獅子系統沒有問題。開發足夠用了。)

——————————————————————

以上講的四點都是學習iOS開發的基礎前提。缺一不可,如果這四點你都符合,就可以繼續往下看,下面就進入iOS開發的學習階段了。

一、首先你需要學習Objc語言。

學習Objc的話,看視頻教程再結合看參考書足夠了。

1、參考書推薦兩本。

一本是 Scott Knaster出的Objective-C基礎教程》。

大家不用去買,這裡給你們獻上這本書的電子版的下載鏈接:

http://pan.baidu.com/s/1sjlyONV

另一本是Big Nerd Ranch出的《Objective-C編程(第2版)》。(推薦華中師大出的版本)

——————————————————————

2、視頻教程的話,只推薦我贏職場出的iOS移動開發課程。

教程鏈接如下:

iOS9實戰開發教程

講的細緻是這門課程最大的特點。因此,這款教程尤其適合那些零基礎學習iOS的學員。我贏職場知名度不夠,但是做的課程不錯,可惜沒人聽說過這個品牌。這款教程是從Objc一直講到iOS高編。所以跟著這款教程走,iOS開發基本也可以學的差不多。

——————————————————————

二、其次,你要學習API,了解iOS UI控制項

Objc階段的學習只是帶你入門,如果你想進階,API和UI控制項是必須需要學的。一門語言可能會有成千上百的API和UI控制項。你不需要把他們全都記住,只需要記住一些常用的即可。

例如:Objc中的UITableView的dataSouce和delegate;NSDictionary、NSArray相關的增刪查改方法;JSON數組轉換方法;文件操作方法等。

UI控制項的話,常用的有UIView、UITableView、UIScrollView、UIButton、UILable等。你要熟悉這些控制項的屬性和相關的操作方法。

記憶這些東西,只靠死記硬背是不行的。多去寫代碼,多去實踐,這樣才能逐漸掌握。

學完這個階段,基本上就可以做出來一個簡單的APP了。由於沒有進一步學習高深的東西,咱們暫且不說流暢性和內存。

UI控制項部分的知識點如圖:

——————————————————————

三、最後,你還需要了解iOS開發的底層原理。

能學到這一部分已經很不錯了。所謂專業的iOS開發工程師和一個業餘的iOS開發愛好者基本也差在這最後一步了。這一部分的知識點也是在面試的時會經常問道的。如果你想找一份iOS開發工程師的職位,這一部分是非學不可的。

這一部分的需要掌握的知識點包括:

iOS內存管理、iOS運行時機制、RunLoop、多線程等

每一塊都需要掌握的很詳細。

你還要熟練使用類庫並閱讀類庫源碼,例如AFNetWorking、SDWeblmage等,這兩個是初學者必看的。

——————————————————————

這一階段的學習可以多去github上下載源代碼去閱讀。

推薦一些完整的源碼下載:

1、懶人筆記iOS客戶端

GitHub - liaojinxing/Voice2Note: Voice2Note iOS client source codes.

2、《猿已閱》碼農周刊iOS客戶端

GitHub - icepy/manong-reading: 《猿已閱》碼農周刊 iOS App(放棄維護,推薦大家下載《開發者頭條》App)

3、火狐瀏覽器iOS客戶端

GitHub - mozilla/firefox-ios: Firefox for iOS

4、某位大神做的高仿網易新聞項目源碼

GitHub - dsxNiubility/SXNews: High imitation Neteasy News. (include list,detail,photoset,weather,feedback)

5、維基百科iOS客戶端

GitHub - wikimedia/wikipedia-ios: The official Wikipedia iOS app.

6、品趣iOS客戶端

GitHub - ltebean/novel-design: PinQu ios client

7、YoCelsius——一款天氣預報的應用

GitHub - YouXianMing/YoCelsius: A weather app that uses animation to give you an at-a-glance look at the weather.

8、密記iOS版——款簡單的筆記應用

GitHub - iHTCboy/SecurityNote: 密記iOS版:本應用主要功能是簡單筆記。【已經開源,AppStroe可下載】The application of the main function is a simple notes.

——————————————————————

四、關於swift語言的學習。

學習iOS開發分為Objc和swift兩個路線,以上介紹的是最經典的Objc路線。如果你想靠學習iOS開發找到一份工作,就要選擇從Objc開始學起。因為絕大多數公司都是以Objc為開發語言的。

然而swift作為一門現代語言,集合了很多編程語言的優點,並且比Objc也更加簡單易學,近幾年swift語言的發展勢頭十分不錯,大有取代Objc而代之的跡象。所以在這裡建議題主把兩個語言都學習一下。並且Swift語言是在Objc的基礎上發明的,學完Objc,再學習swift也會更加容易。

關於swift路線的學習,可以看看我贏職場的iOS開發教程,有大篇幅的章節去介紹swift語言,並且講得細緻入微,十分適合新手學習。

教程鏈接:iOS9實戰移動開發(swift加強版)

五、下面把自己多年來私藏的一些學習iOS開發的網站推薦給大家。當然這只是部分,贊數過百還會把這些資料再放出來一部分。所以,你們快點贊吧!

——————————————————————

iOS開發相關的網站:

1、我贏職場

上文已經介紹過了,他們家的課程質量算是很贊的了,教程最大的特點是特別適合新手學習。

2、tutsplus

不定時更新一些 iOS 教程

3、WWDC

蘋果官方每年一度的 WWDC 視頻, 可以了解歷年有關 iOS 發布的內容。

4、asciiwwdc

WWDC 的文字版

5、Swift by Robin Eggenkamp

該網站收集了很多關於 Swift 的學習資料, 新聞。

——————————————————————

郵件訂閱:

1、iOS Dev Weekly

每周一期,內容多為這一星期里值得關注的 GitHub 項目、文章、工具等。

2、iOS Design Weekly

每周一期,會提供一些iOS開發的建議,新聞資訊以及創意方面的內容。

——————————————————————

文檔

iOS Developer Library

iOS 開發必看, 有此文檔足矣, 內容非常之詳細。

大家快點贊啊!贊數過百,會有大波福利等著你.....


我很少回答問題,但看到這個問題我還是想回答下,因為我正走在學習iOS的路上。我只推薦書,不關於選擇電腦之類的信息。

先說大概說下C語言,題主說自己過了計算機二級,我沒考過計算機證,不清楚過二級是什麼水平。不過C的基礎應該算過關吧,大一時把書上的代碼全部都敲過一遍(浙大顏輝版譚浩強版),當時可以獨立完成信息管理系統之類的大作業,不抄別人的代碼,後來用C語言寫過單片機。如果想對C多些了解的話我推薦《C語言程序設計-現代方法》這本書,比較厚,哪裡概念不懂就查哪裡。曾經流傳的應對二級考試的「南開百題」我也敲過。我說這些是告訴題主能用C語言完成這些功能絕不是會做二級考試題的那種水平(非貶低二級水平)。

好了,現在開始說Objective-C,我感覺學OC並不需要其他語言基礎,不過你有C基礎(或其它語言基礎)的話會容易進行些。我看的第一本是《Objective-C基礎教程》,【圖一】青橘子的那本,這本書講的不是太詳細,當時看得一頭霧水。我推薦看另一本講OC的書《Objective-C程序設計》,封面見【圖二】,這本書對OC語法的講解還是比較全面的,把書上的代碼從頭到尾敲完,敲的過程中要盡量理解每句話都是什麼意思,就算不理解也要保證碰到類似的問題知道要怎麼解決吧。這樣下來基本就會對基礎語法明白個差不多了。這時候你就應該能做一些簡單的控制台程序了,比如圖書管理系統之類的小程序,基本會運用到涵蓋全書八成的語法知識。此間應該會需要半個月左右的時間吧,我用了半個月,期間附帶著參考看了蔡明志的《學會Objective-C的24堂課》,也是全書代碼全部過一遍。在此之後就應該可以進行iOS手機界面開發了,不要留戀語法,有些東西到用的地方自然就懂了,關鍵是多動手練習。

上為【圖一】

上為【圖二】

下面說第二階段——手機界面的開發,我感覺基本就是一句話,多動手多思考。學開發哪有不寫代碼的?我第一個手機端程序是看著《iOS5應用開發-入門經典》(【圖三】)寫的,這本書內容比較基礎,講的內容比較淺,不過適合快速了解界面開發,人家書名也說是入門經典了。我是從圖書管借的iOS5的這版,不過市面上這本書已經有賣iOS6的版本了。

僅僅靠這本入門肯定是不夠的,我還推薦看一下《iOS5基礎教程》(【圖四】),封面圖案是個黃橘子。這本書內容比較全面適合深入一步學習。看完這本書基本就可以完成一些應用製作了,或許寫的代碼不一定健壯,但我們仍然在成長。建議期間多上網上下載一些別人分享的代碼學習,不用天天去github找代碼,不過我相信你總會被引到github的。國內cocoachina和code4app都有源碼分享,基本可以滿足這個階段學習了。此階段把兩本書弄完花費的時間可能長一些,一個月左右吧,可能還不夠。我目前也算是剛走完這個階段,所以只能幫你到這裡了:)。

上為【圖三】

上為【圖四】

下面我給你分享下我下一步打算的書目,因為還沒有看多少內容,所以你可以不採納。還是橘子的書,我感覺橘子的書還是可以的,人民郵電出版社的橘子系列三本書,這三本書的封面很有意思,青橘子(成長)——&>黃橘子(成熟)——&>紫橘子(熟透了)。想對於其他編程開發,市面上iOS的書還是比較少的。還有一本《iOS6開發範例代碼大全》我就不貼圖了,我也只是打算偶爾參考一下。以上我推薦的書都是我看過的,不行請看最後一張圖,這一摞就是我目前的書。


這個問題實在讓我很有回答的慾望。

2012年,我和同事一起打算做個iOS app,我做設計同事編程,怎奈此同事工作太忙,進展很慢,項目眼看著就要擱淺。

我不是個做事有頭沒尾的人,於是打算親自上陣,完全零基礎。但我就是想把這個app弄上線。於是我買了當時蘋果第一台macbook pro retina,開始了編程之旅。

一個字,煩。其實不會就去學,也沒啥,但煩的是:

第一,有的教程十分系統,從變數講起,十分深入,從對象一直講到內存管理。對我這樣一個零基礎的門外漢,讓我立即暈頭轉向。加上我的目的是上線app,這樣系統的講解只是講知識點,和真正做一個app距離太遠。

第二,有的教程十分零碎,教你做一個小效果,但是他用到的一些技術,知識,很可能就是一個零基礎的門外漢所不理解,不具備的。所以極有可能完成不了最終的效果。

第三,資料魚龍混雜,針對什麼版本的都有,當時是iOS 4/5更新換代之際,各種一團亂麻

這裡推薦幾個還不錯的資料:

蘋果官方文檔,英文,對於開發的最權威幫助,面向最新版本

https://developer.apple.com/library/ios/navigation/

斯坦福大學的iOS開發課程,英文,iOS 8(目前最新版本iOS 9)

https://itunes.apple.com/us/course/developing-ios-8-apps-swift/id961180099

這個課程講師不可謂不專業,水平不可謂不高,有基礎知識也有一些小項目實踐,但是,針對我想做的app還是相差很遠。我並不指望有一個教程能教我如何做我想做出的app,畢竟每個人想法不一樣,又不可能為每個人定製一個教程。於是開始了漫長的stackoverflow之旅(一個著名的編程問答網站)。

還記得那天,我已經在家連吃了5天外賣終於解決所有問題把app提交審核。我想起了聽過的一句話:「我回望一生遇到的所有的瓶頸,都來自於我為自己設下的愚蠢的界限。」我是學設計的出身的,在一家小公司剛剛做了幾年交互設計師,覺得編程開發複雜高深,我有點畏難,但是我沒有止步,我走出了自己舒適的圈子,去挑戰自己沒做過的事情。

也許你想問這個app後來怎麼樣了。其實並沒有什麼很好的結果,這只是一個面向小眾需求的app,面向全球用戶下載,每天只有100多人下載,打開一次可能就不再訪問。無論從任何角度都是一個失敗的app。但開始學編程為我打開了一扇門。

我開始有意無意的留意起公司開發的Web app的html代碼,先從css看起,慢慢的我開始可以去調整公司項目開發過程中不符合我設計的按鈕樣式了,我在設計工作中開始有意識到哪些設計是容易實現的,哪些是比較難以實現的,所以我提交的設計都以更高的還原度得以最終出品。我開始不局限於交互設計,開始實踐視覺設計,思考產品,思考精益創業,夢想有一天做自己的產品。

做自己的產品

一年又一年,在剛剛為一家投資教育做了設計諮詢之後,積累了一些設計經驗的我開始有了分享的想法。2014年,我開始在douban發帖收集設計經驗分享的目標用戶,其中一位提到了在淘寶上購買了Axure視頻教程,他傳給我聽了一下,一聽之下什麼鬼,把Axure各種神棍的功能都介紹的清清楚楚,而實際的產品設計中根本不會用到這麼多,Axure本身只是一個工具而已啊。我想起了我自學iOS的痛苦經歷,為什麼不能去做一個真正「好」的課程呢?為什麼不用做產品的思路來設計課程呢?為什麼不能做一個基於短小精悍的案例介紹一些真正常用的功能,順帶介紹產品設計的思路和方法的課程呢?於是我飛速的設計了Axure的教學案例,不僅包含軟體操作,更內涵了設計思路,並錄製了6小時的教學視頻。後面怎麼辦?我打算做付費學習,不管收費多低也要付費,畢竟好的內容是值得用戶付費的。

那麼如何實現付費呢?是不是要做一個網站接入微信支付淘寶支付呢?我雖然學過了一次iOS開發,但是我還不會網站開發啊喂。而且最重要的一點,精益創業!我還沒有驗證我的教學視頻是不是能切中用戶需求,用戶是不是有意願付費啊,不能一次性做這麼大工程,3個月之後上線,然後無人問津不是很傷心?

於是我選擇了優酷視頻+淘寶店。淘寶店鋪不需要開發,只需要起個名字去申請開店就好,就叫原型課堂吧!優酷視頻怎麼玩呢?當年優酷視頻也提供一些最基本的視頻觀看許可權的管理功能,其中一種觀看許可權就是「只有我關注的人才能觀看」。這就好辦了~我在youku放幾個可以所有人觀看的試聽課程,然後引導用戶去淘寶店購買,淘寶店購買之後,我要求用戶註冊優酷,我再關注一下他,他就獲得了觀看的資格。無需複雜的開發技能,就可以走通整個用戶價值實現的流程,我開始了自己做「產品」驗證用戶需求的道路。

成果喜人,上線第一天就有人購買,第一個月的營收就有千餘。不僅有用戶感興趣,而且得到了付費用戶,也的到了用戶的好評。

在經歷了3個月的用戶驗證之後,我不斷調整了一些細節,更新了一些課程章節,也逐漸堅信在線學習這條路值得去做。下一步要做什麼?在線教育無疑最重要的就是內容,我把我的精力持續投入到了內容創作,但youku也並不是一個好的播放載體,經常會有播放的問題,經常會有用戶表示為什麼我付了錢還是會看到廣告?所以我選擇了外包開發。一方面是我的收入還足以負擔,另一方面更重要的則是每月都會有比較穩定的課程售賣收入,幾個月的營收就足以負擔外包開發的費用。

一個月之後,原型課堂的網站1.0終於上線。貼一張當時的網站界面:

設計簡單有效,甚至沒有首頁的概念,進了網站就要登陸,主要是實現用戶可以在我的網站觀看的功能,可以對用戶的體驗完整的負責,用戶可以不再觀看廣告,可以專註在學習上了。網站使用某雲計算的服務,包括存儲和資料庫都是採用了雲的方式。雲計算的優勢在於按需付費,其實是很大程度上節省了開支。

在《Axure視頻教程之手機應用設計和表達》課程之後,又陸續創作了《Photoshop視頻教程之手機應用視覺設計和表達》以及《手機應用交互設計精髓》這兩門課程,獲得了更多的關注,也進一步驗證了需求。我又一次,想起了我學習iOS的痛苦經歷。

零基礎怎麼開發網站?

要說Axure這類軟體的課程,真的是多如牛毛。因為Axure軟體實在是簡單,像Word一樣簡單,毫無門檻可言,任何教書匠都可以來教。但要說技術類課程,多少有了些門檻,會編程的人本就不多,更何談敢開堂授課。另外一個角度是,正因為Axure軟體比較簡單,所以無論怎麼講無非是軟體操作,所以對於教學水平要求不高,基本怎麼講,用戶都能聽懂。但我心裡清楚,到了技術教程,絕對就不是這麼回事了。

還是先從簡單的挑戰開始,我首先打算試水網頁技術的教程。喂,可是原型課堂的網站都還是外包的啊!你到底行不行啊?2015年春節,我完全重寫了原型課堂的網站,包括前端和後端。在請教了無數前端大神的指點和審校之後,我用自己基於案例,循序漸進的教學方式,創作了《零基礎網站教程》,完全針對零基礎,教大家從下載編輯器開始做自己的網站,走一遍完整流程,直到購買域名,利用github的免費服務發布自己的個人站點。反饋良好。大家反應比一般一上來就講語法的課程強太多,對於一些比較複雜的概念也能比較容易理解。我更堅定了自己的信念。

零基礎也能開發iOS應用??

創作《零基礎iOS開發教程》這個想法貫穿了我做原型課堂的始終,我寫教案的筆也拿起放下、拿起放下了很多次。終於,時機成熟了。也是在厚著臉皮請教了無數iOS開發大牛之後,2015年8月,正式開始寫作。

寫作課程是個累人的活,iOS這個課程就是要加個「更」字。主要做了幾件事:

  1. 先期提綱的寫作
  2. 案例項目的設計和開發
  3. 正式的課程錄製
  4. 剪輯,修改和一系列收尾工作

說說最難的事情——就是入門課程的設計和寫作。其實iOS的開發是很有邏輯性的一件事,裡面的概念並不複雜——對象、方法、屬性,無非是這幾件。但如何用一個不枯燥的、有來由的方式將這個邏輯性思維講解出來就成了大問題。

我深知第一堂課樹立印象的重要性。我心目中一個理想的教學方式應該是自然而然的,由一個問題引發另一個問題,環環相扣、逐漸展開、娓娓道來。最終選擇了這樣的方式:

  1. 新建項目,發現項目運行一片空白
  2. 那麼為了給頁面增加背景顏色。所以寫下兩行代碼。寫在哪裡和為什麼寫在這個位置先略去不解釋,先講解代碼,從而自然的引出了對象,方法,屬性這些概念。

從開發一個app的實際出發(總要換個頁面背景顏色吧),穿插必須的基礎概念。同時因為有一個實際可以看得到的界面改變(從白色變成灰色),概念變得並不枯燥了。很多朋友反饋說,看了課程之後,覺得沒那麼難了!

之後再為頁面增加標題欄,再之後再增加新的頁面,因為不斷增加的新內容引發了新問題,也就不斷增加了新的教學內容,不僅是教大家實現app,也教大家如何用健康、可擴展的方式寫好代碼,也就是教大家程序設計思想的初步內容。

去做大家都不看好的事

在開始寫課程之前,所有認識的工程師對此都不看好。事實上整個過程確實非常痛苦艱難,在錄製了兩課之後,因為覺得之前的講解思路不夠明確,又推翻重新錄製了一遍。這個過程很痛苦、折磨,但我相信一切都很值得。

一直看到別人有用直播的形式,但我還不敢嘗試。因為我希望保證課程的過程盡善盡美。錄製課程的時候,每一段最多錄製10分鐘,更長會有口誤,口誤就要重新來過。每錄一段,都會重新聽一遍,講解是否簡單易懂,是否拆的夠細。所以整個iOS課程長達14小時,每一段都是10分鐘甚至更短,最後的剪輯工作也變得異常繁瑣。

雖然聽起來比直播費力許多,但是優點也很明顯:既保證了課程質量,又節省了時間、降低了成本,平價地將課程傳播給更多的用戶。

曾經得到一個反饋說「太啰嗦」,之後另一個反饋則說「說啰嗦的,麻煩看清標題是什麼, 零基礎好嗎?」。最近,我跟一位資深工程師討論我們的iOS課程,他看過課程之後表示驚奇,有很多零基礎用戶可能不懂、需要聽的東西,他之前都沒想到過,「居然這個也要講?」——事實上,正是這些被認為啰嗦,被忽略的內容,才讓大家的學習變的困難重重。這也是我努力開發課程的目的——「聽得懂、學得會、用得上」。

努力都沒白費,《零基礎iOS開發教程》是目前最受關注的移動開發課程之一。

打造自己的APP 開發app 學iOS開發 iOS開發教程

最後說一句我很喜歡的話:

做自己的產品,才是產品精神的最好實踐。


作為一個從之前零基礎,現在工作快一年的iOS菜鳥來說,以我個人的切身體會來說我覺得很多推薦各種入門的書籍啥的,都不太好。我不是說這些書不好,而是對於一個零基礎入門的人來說,並不是最好的入門材料。

還有很多人說少說多做,直接上手寫代碼。我覺得這個可能忽略了零基礎這個問題。

我說一下個人的一些想法:先去網上找一套視頻,不要什麼都看,就找一套完整的基礎視頻,從頭開始看,說實話,對於沒有寫過多少代碼的人來說,看視頻效率絕對要比看書來的快(前提是視頻質量好,至於iOS的視頻哪些比較好,網上百度一下非常多。),有一個人跟你講比你自己去看,去理解,要來的直接很多。然後就是對著視頻敲代碼。爭取把視頻裡面講的都理解,一遍不行就多看幾遍。等你把一整套的視頻都看下來,我覺得你的目標並不是立馬能做項目了,而是要對整個iOS開發有一個系統的了解:你需要到用到什麼語言,OC還是swift,基礎語法,iOS基礎(UIKit,NSFoundation等)。

有了這些系統的了解,可能你很多東西還並不會用,但是這個時候已經可以搭建一些小程序了,然後你可以給自己定一個小目標,比如做一個記事本,做一個播放器等等,想做什麼做什麼,然後專門去研究某一方面的API。當然,到了這個時候,你可以去看書了,就看網上都推薦的這些就行了,最好先看中文的(如果你英文很好的話,就隨意了),為啥先看中文的,我個人英語是6級,之前學的時候,覺得中文的很多說的不太清楚,而且都是你抄我,我翻譯國外的,所以我選了很多英語書去看。但是到後來我發現,讀英語書太費勁了,而且自己本來對iOS開發的了解也不多,看英語書的時候,打擊就更大了,而且在這個階段浪費了很多時間(英語看起來是真累)。後來我找了幾本中文書,並不要求所有的知識都要學會,而是進一步了解,因為光看視頻,只是知道如何做,看書,就是為了知道為什麼這麼做。

如果這個階段過來了,我推薦可以開始看英語書了。找一些方向比較專一的書,CoreData,CoreAnimation等等,在這個階段,我讀了幾本之後我發現我以前知道的太少了。。但是每一本對我來說,都是受益匪淺。

我現在還處於第三個階段,想要學的東西太多了,加油吧。

還有我經常看到有推薦怎麼零基礎學一門語言,技術的時候,很多人上來就說看書,上代碼。我一直好奇為啥我自己這麼笨,感覺別人說的都好輕鬆。。。如果有人覺得我太菜了,上面的請忽略。

視頻,書籍推薦的話,由於今天周五,坐等下班中,周末我更新一下吧。

作為一個iOS菜鳥,深知學習的不易,希望如果能幫到哪怕一個人,也算是開心了。


c語言是iOS的入門,之後需要學習OC編程,還有就是iOS基礎知識,還有一些iOS遊戲開發方面的應用!

從網上找了一張iOS自學路線圖


怎麼樣才能學好iOS開發,我們要看什麼書呢,還是什麼視頻,其實這些都不是重要的,重要的是,你認為自己可以學好iOS開發,認為自己可以堅持下來,這是關鍵啦。

其實學很多語言都是通的,從C語言入門,因為IOS開發用的是OC語言,是在C基礎上的,不過也跟C不是很搭界,你可以直接學習OC語言也可以,還 有開發工具是用Xcode,是在Mac系統的,你多摸索一下就可以開發簡單的應用了,建議你買一本iphone開發秘籍第二版看看。學語言,無非就是要學 好基礎,弄清楚概念,然後做個簡單的例子,慢慢的體會,基礎打好了,到後面你會覺得突然自己提高了很多,很多東西都自然而然地明白了,在黑暗中的努力是為 了迎接光明。

我覺得學iOS開發,首先心態要好,不要想著我已經學習很長時間了,可以找個好工作,可以賺錢了,牛人除外,不過大多都是普通人。

先慢慢培養興趣下定決心,然後開始找資料,找視頻,查百度。等你覺得這些基礎的都差不多理解了,那就別看書,將精力集中於界面開發、一定的資料庫開 發、通訊介面開發、協同開發與聯調。然後自己設計個東西,可以涵蓋他們的,做個自己想做的東西出來,雖然可能很難,但是你會在過程中學到很多,是別人教不 會你的。

在學習過程中遇到什麼問題,你可以百度一下看看別人的回答,看多了印象就深了,也就慢慢掌握了。遇到什麼思路上的問題,可以來論壇發帖,論壇肯定會 有人來幫忙的,就算不能完全解決,也可以提供點參考。學習要會利用資源,論壇上那麼好的資源不用可惜的哦,還有資料堆的東西,只要你能掌握70%,不相信 你試試。

等學完了UI後,可以想想搞點數據的存儲的東西,比如做個網路圖片收集的,裡面涉及到網路連接,圖片保存,UI線程安全,資料庫操作等等,又可以學 到好多,何樂而不為呢。等學完這些,已經算不錯了,接下去就要做點大的項目,最好是有客戶端和伺服器的,也練習下數據操作,了解下http協議,了解下 wifi,了解下電話簡訊googlemap的等知識。如果是遊戲,那麼還需要涉及到引擎、建模、素材、光影、故事板等。推薦兩本書兩本經典入門書籍 《objective-c基礎教程》和《iphone4和ipad開發基礎教程》。

當然你有興趣的話可以在中間看看iOS的源碼。

最後,等上層應用的東西基本學完了,學點底層的,你就做點調用底層的東西,深入了解下,就可以做很多東西了,比如3D遊戲性能提高,編碼解碼等等。

還 有一種快速地進行iOS開發,那就是通過互聯網上面的在線移動開發平台,即使不懂技術也能開發,比如通過手機APP定製平台。不過今後如果真的想從事 android開發這一行的,還是建議你們下定決心安心學習這麼技術。如果只是暫時有這門興趣,創意很多,那麼可以試試互聯網上的在線移動應用開發平台, 因為操作都是傻瓜式的,這樣會給你剩了很多時間,也不會讓你學習的特別苦惱。

以上的經驗希望大家參考下,主要是你覺得適合的,可以去試試,當然你可能有比我更好的方法,每個人都不同的嘛,但是都希望你們能成為高手。

最後我覺得做好開發更重要的還是得靠自己不斷的努力學習, 師傅領進門學藝靠個人 相信自己, 努力學習,一定會成功的。

推薦樓主看一下這些視頻。

iOS開發入門實戰

iOS開發入門實戰視頻教程

iOS8 App開發快速入門

iOS8 App開發快速入門視頻教程

iOS開發視頻教程《憤怒的小鳥》

iOS開發視頻教程《憤怒的小鳥》視頻教程


其實新人不適合看書,一個是看書進度比較慢,很難獲得成就感從而繼續持續的投入,並且看書很容易乏味,其實根據視頻教程敲代碼很容易獲得成就感從而繼續學習,差不多入門學習了解基礎之後再看書查缺補漏進行系統的學習理解才是不錯的方式。網上可以找到一些培訓機構或者一些人出的全套教學視頻,推薦傳智播客,黑馬,當然現在的小碼哥的,講得透徹系統,這些從基礎到就業班的全套視頻,感覺適合新人學習,花點心思還是可以找到很多資源,當然之後選擇一套合適的深入學習就可以了,不要貪多或者淺嘗輒止,之後加上項目實戰,差不多可以入門了。


看到大家都在說C語言基礎和OC 其實Swift也是個很好的選擇

當然本人現在也是初學iOS開發 不想學OC也是被其繁雜而奇異的語法intimidated 於是乎目光可能狹隘 不知OC是否會有更勝一籌的地方

不過! Swift真的很容易上手 書的話其實用處不大 沒有見到哪個Swift的教程能夠講的很深入的 而淺層次的語法什麼的看Apple的documentation或者跟著YouTube看一看 自己再用playground試一試 就差不多了

更進一步實際開發的話 確實會需要深入了解Xcode各種框架功能 這個真的和語言本身一樣重要 甚至更重要 不過這個個人感覺也不難

依然是YouTube一些實戰的videos比如說這兩個channels CodeWithChris 和 Jared Davison 邊看邊自己動手敲代碼 聽他們的解釋 盡量多琢磨這個代碼以及Xcode這個怎麼搭建的 多舉一反三

跟著視頻做完之後 再做一些自己的小實戰project 這些東西都是做的多了熟能生巧 其中碰到問題的話 StackOverflow是你的好朋友 有些問題Apple自己也會解釋 總之做的多了就見世面了 自然就上手了

本人還在繼續鑽研 希望往後會有更多經驗來share :)

______________________________________________

補充一下 本人幾乎沒有C語言基礎 於是更不想學OC 本人有Java Python Ruby基礎 個人感覺這種情況下Swift語法更容易接受


相對與其他開發技術,iOS開發應該算是比較容易掌握的一門技術了,因為學習iOS開發只需要掌握OC語言就可以了,iOS的技術都是以OC語言為基礎開發的,而且iOS系統是閉源的,所需要的技術方法都是蘋果官方規範的方法,所以比較容易掌握。建議初學者先從C語言入門,有基礎的可以直接學習OC語言。


iOS開發的核心語言是Objective-C,面向對象的語言,是C語言的超集。想有個堅實的基礎還學要學習C語言的相關技術,它是一個結構化的入門語言,重點在於數據結構和演算法。

Swift是蘋果14年推出的語言,旨在取締OC語言,它的優勢在於語法簡單易懂,性能更優,安全性更高。Swift語言的發展是一種趨勢。

iOS開發的學習內容提供以下參考:

第一階段:Objective-C語言基礎

OC開發介紹,熟悉Xcode開發工具,OC語言基礎,OC流程式控制制,類的基本概念,面向對象特性,Foundation類庫,OC高級用法,協議和解析。

第二階段:iOS交互開發

基礎UI控制項,高級UI控制項,視圖控制器,可視化開發與適配,事件處理與手勢,網路與數據處理。

第三階段:iOS高級進階、

流行技術與特效,系統框架選擇。

第四階段:HTML,CSS與javascript

PC端網站布局,HTML5+CSS3基礎,WebAPP頁面布局,原生javascript交互功能開發,Ajax非同步交互,JQuery應用。

第五階段:PHP與MySQL

PHP基本語法。

第六階段:項目開發

實戰項目,綜合練習掌握的專業技術。


OS(iPhone OS)是由蘋果公司開發的移動操作系統,iPad、iPhone、iPod touch、以及Apple TV等產品上。

想必很多人都在為擁有一部iphone手機而自豪,我很榮幸能夠成為其中開發者的一員,相比來說ios會帶來更高的收入。

目前已有大量的開發人員涉入移動端學習開發,這也是移動互聯網發展的必然趨勢,但是優秀的 iOS 開發者在行業內仍然很少,這一方面是由於創業者很多,另一方面是因為技術更新換代很快,而且開發也需要長時間的經驗積累,iOS5 與 iOS4 相比簡直就是跨越性的更新,雖然用戶可能感覺不到,但是從 SDK 的變化來說,開發者的壓力是很大的;12年發布的 iOS6 帶來了 AutoLayout 、CoreImage這些新的技術以及像 PassKit、CollectionView、State Preservation 這些大量的新的 APIs;iOS7 的變化大家有目共睹,UI 的調整往往意味著過去經驗的結束,你要重新思考對細節的處理;iOS8 也有理由說是變化最大的版本,帶來了像 Extensions、Size Classes、Metal、Watch、Swift 等等這些全新的東西。

總之,學習IOS開發前景還是非常好,而且每年都有機會實現行業內彎道超車,快人一步展現自我。

零基礎到精通IOS項目開發需要學習內容如下:

首先要了解.C語言基礎,包括:數據類型、表達式與控制流程語句、數組、函數與編譯預處理、指針、結構體和聯合體。

其次掌握,OC語言,包括:類、對象和方法、封裝、繼承、多態、類的擴展、Foundation框架、內存管理、複製對象與歸檔、文件管理、kvc、kvo與謂詞。

然後熟悉,IOS開發環境搭建以及IOS組件、框架、mac操作系統與iOS操作系統、xcode 應用。

最後進入,IOS開發入門及進階階段:視圖與窗口(UIView、UIWindow)、常用UI控制項、視圖控制器、導航控制器、分欄控制器;表視圖1(UITableView)、表視圖(UITableViewController)、手勢與觸摸、UIScrollView的使用、Block語法的使用、UIPickerView使用、iPad開發、iOS動畫、音頻與視頻、網路與多線程、位置與地圖服務、SQLite資料庫、真機調試、本地通知與遠程通知、cocos2D遊戲開發。(想學參考右上角個人資料)

最終,可以獨立開發app項目,成為IOS開發項目大神!


其實我想說,就是兩個字:毅力


少問這種 meta question,直接上手看教程寫代碼去。


我也是自己學ios開發的.然而並不建議你買書,要買也只是買下喵神的.其他的書籍大部分理論性太強.可以在淘寶買點黑馬或者小馬哥李明傑的視頻從oc到ui網路項目實戰等等都有講,全套估計也就四五塊錢.簡單實用而且快捷.比起看書效果要好,培訓機構的視頻一般針對性比較強.有利於快速上手.主要學習過程推薦,簡單看下c,然後oc基礎,然後ui,網路,學學框架和第三方sdk的集成就基本可以做個簡單的app,主要還是多敲代碼.也可以來我們群里:626433463我把一些相關的學習資料放在群里可供大家參考和學習。

接下來今天,我來談談如何零基礎學習ios.(假設當前閱讀本文的你,為沒有任何開發語言基礎)

-3-由於初次寫文,若覺得寫得不好,勿噴.若有地方寫得不對,請指出,我及時修正.

以後,我會把一些我從零基礎學ios的過程以及學習的實例代碼講解發表在簡書上.

學習任何一門開發語言,都是從C語言開始學起來的.C語言是一門通用計算機編程語言.所以學C語言,是很有必要.不要覺得,學ios就直接學oc或者swift就好,對這行為,我個人覺得是不可取的.有一個良好的編程基礎,學習oc效率會更快,可以更好理解些邏輯思維上的問題.

IOS學習流程:C -&> OC -&>UI -&>Swift

假如你是一名在校學生,因為興趣而去學ios開發,可以簡單學習oc然後就快速上手swift.

若是以ios開發為職業,多放點心思在oc.因為出來應聘,很多項目主要還是OC為主,swift還在過渡中,應用比例相對沒OC多.隨著時間,swift取代OC是必然的.(關於swift和oc的介紹,請自行百度百科查詢)

學習準備:

一台可以運行Xcode的電腦,Xcode只能在蘋果系統下運行.

你可以選擇購買蘋果電腦,也可以選擇安裝黑蘋果.(黑蘋果內容,請自行遠景論壇了解.)

C語言可以在Win系統學習,編譯運行.但是想開發ios軟體,使用OC或者swift,必須是在蘋果系統了.

ios9開發,Xcode7,需要的系統最低是10.10.3.

所以你現在想學ios開發,請下載最新的系統,Xcode也採用最新的版本.

學習途徑:

1.自學

在百度上找,是可以找到很多相關的開發視頻.如傳智播客等等.這些,在百度都很容易找到.

郵件老是發送不成功,我現在分享網盤:ios零基礎學習到開發項目

若失效了,請留言,我會及時補正。

在這推薦3個學習網站:

http://code4app.com收集各種 iOS App 開發可以用到的代碼示例

收集各種 iOS App 開發可以用到的代碼示例,及與IOS相關的諮詢內容

在簡書上,有很多大神在這分享自己的實例代碼及一些知識.

2.培訓班

我學習ios開發是在培訓班的.優點缺點明顯.自己衡量吧.

優點:1.坐在身邊的都是一些學習目標一致的"戰友",一起共同努力,共同解決學習中遇到的問題,困難.形成自己的ios朋友圈.以後工作,即不在同一公司,以後面臨開發上的問題,也可以通過Wechat或者QQ來交流,尋求幫助.

2.有老師講解,結合機構的課程安排,更科學性去學習.克服出現惰性學習的問題.

缺點:1.學習的深入度有限,主要都是基礎為主.畢竟,隨著實踐開發經驗的積累,自己也會慢慢開始自主學習深入的知識.這個點,取決你如何看待了.

2.學習費用高.我是廣州這邊的,一般都是1-2W內的費用,學習時期不等.我就不多詳細說.畢竟不同的培訓機構,實際情況我並不清楚,不好評價哪個好,哪個不好.不過有一點是共同的,認真的去學,知識是肯定會學到的.

學習C語言:

1.下載pdf書籍或者購買實體書.

我個人建議是下載pdf,&.學習c語言的時間大概花1-2周的時間入門就可以了.熟悉相關知識點就可以了.

2.視頻

在網上一些ios開發視頻中,如如傳智播客的ios開發視頻,內容是包含c語言到swift入門的.是一個完整的ios開發系列視頻.所以,視頻結合書籍來學習,遇到不明白的地方,看書.,明白了就繼續看視頻.

若是在培訓班的話,跟上老師的教學進度,有不明白的地方多問老師或者自行看書,百度相關問題,不讓今天的疑問成為明天的疑問.明白老師當天的內容,提前預習,就可以了.學習,切忌心急,一步一步來.

學習OC語言:

1.購買實體書

學習oc的時候,就需要學精.我看了網上的pdf書籍,很多都是舊版的.設計ios8的相關資料,英文版居多.學習ios開發,購買的資料書,最好買最新的. 因為ios更新較快,很多ios4的方法,在ios7就棄用,ios5的方法,在ios8棄用.所以,購買新的資料,不會虧的.

2.視頻

這個不用都說了.只說一句:學習,貴在堅持.挺住

最後:

自己多問下為什麼學習ios開發?
第一個因為身邊朋友,學完ios開發以後出來就業的時候,工資待遇很高,普遍都有
二萬以上,然後自己有懂編程所以選擇學習ios。更加希望未來自己的工資很高。
第二個自己啥都不會,然後覺得ios還不錯,自己喜歡這樣的開發,所以選擇學習ios
開發
第三個老師,朋友,同學的推薦,覺得這個未來的就業比較好,所以學習ios,結果自
學了幾天發現自己不知道從哪裡入手,所以來知乎看看

學習完ios開發前景會咋樣?

據教育部數據顯示,2015年的大學畢業生約有749萬左右,預計2016年也將在770萬
以上,連續幾年以來,大學生的就業形勢的確不容樂觀。但是,畢業生對工作的要求以及
對薪資的期望卻並沒有因此降低,根據人人網2015大學生畢業季調查數據顯示,仍有高
達41.1%的畢業生月薪期望是8000元-10000元。不僅大學畢業生人數眾多,社會中也還
有很多的待業求職者,另有一些優秀人才在尋求轉型等等,大家對薪資的期望都不低,對
職位的選擇也都非常謹慎。那麼,面對嚴峻的就業形勢,求職者們的突破口在哪裡?而他
們所期望的高薪就業之路又在哪裡呢?
近幾年,軟體開發行業一直處於快速的發展和演變過程當中,據統計,我國現有手機網
民規模已達5.57億。依據Apple手機的所在市場份額,以及iOS在其他相關領域的可能性
應用,iOS開發人才也一直處於十分搶手的狀態。目前iOS不僅運用於的蘋果公司的現有
產品(iPhone、iPod Touch、iPad、apple watch、車載iOS),如今傳統行業,智能
家居、遊戲行業及汽車行業等,都將基於iOS系統開發進行轉型,並逐漸走進人們的生活
。特別是2012年到2015年的數據表明,中國移動開發人才缺口已高達百萬,目前企業高
薪都難以找到足夠的iOS軟體開發人才,可以預計在未來的幾年內,iOS開發人才市場仍
舊會呈現供不應求的趨勢。並且隨著技術的不斷創新改良和進步,對專業人才的需求也勢
必會增加。
在這個互聯網時代,幾乎每一家公司都擁有自己的APP, 每一家互聯網公司都需要自己
的iOS開發人員,根據抓取的職位統計可見,iOS 相關職位是位於需求增長
最快的前三名,而Android開發則位列第四。


iOS開發行業不僅人才需求量大,薪資高,它的行業發展以及職位發展也是極具潛力的。
另根據互聯網人才拍賣網(100 offer)的統計數據顯示,在真實的市場環境中,iOS開發
工程師的就業形勢是非常可觀的,它與Android開發、前端開發並列為面試邀請數最多的
TOP3開發職位。(數據樣本包括北京、上海、深圳、杭州、廣州五個城市的iOS開發候選
人)

由此可見,優秀的iOS開發者始終是市場需求的對象,也永遠是企業尋求的精英人才,所
以,無論是大學畢業生還是立志在iOS行業取得發展的社會求職人員,想要在這個行業中
收穫成績和發展,就要修鍊好自身的技術,過硬的技術和相關的實際工作經驗是求職時最
好的敲門磚,也是長遠發展的必要條件。

當然,在求職時,我們也曾遇到過多人爭搶一個崗位的問題,尤其是像iOS這樣薪資等方
面都極具競爭力的職位。實際上,仔細分析,我們可以了解到,這樣的崗位大多是某個在
福利待遇等各方面,都非常有競爭力的大公司職位。其實,這在任何一個行業中都並不罕
見,優尖端的職位勢必是受眾人追捧並瘋搶的。面對這個現狀,作為求職者也應當冷靜的
分析一下自身的優勢和劣勢,再去做出選擇。不要只是一味的追求公司規模等這些外在條
件,把眼光放長遠,一個職位能否鍛煉自己的能力,自己是否能勝任工作以及這個工作是
否適合自身的長遠發展,才是求職者目前應該考慮的問題。

面對如今軟體開發行業的人才需求大潮,求職者應好好根據自身的優勢,抓住機會,磨礪
自己,並在行業中不斷成長和進步,最終成為行業內不可或缺的精英人才。

自己如何確定ios學習目標?
主要是確定自己的學習方法和學習路徑,不能隨便亂學,制定時間的規劃,不要一輩子
還沒有把ios學完,一年自己學到什麼程度,半年的學習計劃,三個月學習計劃,我們軟
件的學習,最重要的是實戰軟體的開發,所以建議在剛剛開始學習的時候,多找一些項目
來研究,很多學校都有免費的課程,一般都會有提供小項目實戰的,如果你們沒有找不到
,可以加我建立的一個交流群先加上626另外還有433最後加上463 這樣你就可以找到組
織,在群里大家都會提供很多小項目幫助大家成長的,你不來我們沒有損失,損失的是你
,我在群里等你。

選擇自己學習ios方法?
我們一般選擇的自學或者參加實體培訓班,或者網路培訓班,其實已經是一個忠實的
互聯網網名,現在非常認可互聯網在線教育,因為經過這麼多年的發展,我覺得在線教育
已經是屬於成熟的階段,所以還是值得我們接受的,特別是我們做it的人,如果沒有辦法
接受新的事物,很容易做不下去,學的技術就變的落後
自學的話其實個人不太推薦,因為有太多的麻煩和自己的知識不全面。如果資金支持的
話我建議大家還是選擇在線教育。記得要選一些好的培訓學校,如果你不會可以來我們的
群里。

學習ios開發有那些誤區?

初學ios開發必須懂得的誤區:
第一:不讀iOS開發文檔。iOS開發者社區、網站可以很好的幫助你。很多的文檔也可以
下載。這些文檔不僅僅是你開發的參考資料,它包括許多指南、教程、視頻、培訓以及其
他有用的資料來創建iOS應用程序。iOS訓練,通過一些有用的教程示例,指導你解決特
定問題或實現特定的功能,由此可見讀iOS開發文檔的重要性。
第二:不熟悉iOS開發工具。不熟悉開發工具是很麻煩的,而且它有一整套工具來幫助
你構建應用程序。其中一些工具可以幫助你的應用程序設計圖形和布局,其他命令行工具
,它們提供簡單、可編寫腳本訪問模擬器和硬體設備的功能。還有一些可以幫助你進行性
能的調優和剖析。
第三:不從iOS開發社區尋求幫助。iOS開發社區很多知識。當你有問題時,可以去裡面
提問、學習,它就像是一個老師。其他有用的資源包括以及網站教程,比如你會發現在
iOS軟體開發。如果不積極從iOS開發社區尋求幫助就等於斷了一個獲取知識的來源。
第四:由於C語言開發而變得懶惰。C是一個高級編程語言,但是,這並不意味著你可以
是一個懶惰的程序員。標準的編程準則仍然適用。大多數iOS設備與傳統計算機相比,處
理能力和本地存儲容量都有限,所以效率不高或不正確的編程實踐會對的整體性能和用戶
體驗有著更大的影響。

第五:認為開發移動項目是小成本投入。小屏幕=小項目。許多新手開發人員是一個錯誤
的想法,認為所有移動開發項目可以由一個大學生在周末完成然而,事實是,大多數成功
的項目都需要像傳統軟體的功能規範、進度表、bug追蹤、專職的工程師、專業的設計師
、測試人員和發布維護計劃。 這些就是初學ios開發必須懂得的幾個誤區,如果能夠避
免掉這些誤區,那麼就能夠更好地學習ios開發,希望能夠幫助到大家學習ios開發。當然
,這幾個誤區並不是僅有的誤區,要是大家想要找一個好的網站進行學習的話,我推薦一
品威客網,因為這個網站有相當多的這方面的專業人才,應該可以幫助到大家學習到更多

怎麼樣才能學習ios?
學習ios需要一個良好的氛圍和一個好的朋友帶著你學習,我們建立的那個群的目標就是
大家相互幫助,相互解答,多一個人多一個學習方法,在群里大家不懂的都可以在群里問
,所以現在很多已經都是月收入在2萬以上。平時有什麼新的技術,我們的那些大神都會
出來一起研究,所以氛圍很好。

本文主要是簡單說說怎麼去從零基礎去學ios.假如你有什麼問題,請在評論區說明,我會繼續補充的,及解決你的疑問.

想了解更多的可以來我們群學習下群號是:626加上433最後463


你先複習下c語言的指針和內存。 然後研究下arc的內存管理邏輯。百度有很多資料。

然後直接開始swift吧

目前oc和swift是兼容的 我在老的oc項目裡面添加swift界面只碰到一個問題。就是我沒辦法把項目打成靜態庫了。 但是這種需求一般用不到了,就算打庫也是打動態庫了。

所以直接swift學習。這樣語法與c類似上手快。也能滿足開放需求。

至於控制項使用這些只能慢慢學習 慢慢積累沒有近路可走。

這裡寫幾點需要重點掌握的知識點:

uivew的生命周期。坐標體系。transform變換

block使用

子線程與主線程之間切換。

消息通知和委託協議

上面這些知識點掌握後 開發基本沒問題了

正在wc所以 寫的匆忙。有啥問題可以直接我我。


學習iOS需要很強的自制力,英語底子好可以看懂源文檔並且聽得懂國外相關的公開課,數學好,邏輯性強等。具備以上這些之後你可以去看看這篇關於iOS入門的文章iOS快速入門 - CSDN博客

推薦一款開源APP數據統計分析工具Cobub Razor,開源項目下載地址https://github.com/cobub/razor


今天,我來談談如何零基礎學習ios.(假設當前閱讀本文的你,為沒有任何開發語言基礎)

學習任何一門開發語言,都是從C語言開始學起來的.C語言是一門通用計算機編程語言.所以學C語言,是很有必要.不要覺得,學ios就直接學oc或者swift就好,對這行為,我個人覺得是不可取的.有一個良好的編程基礎,學習oc效率會更快,可以更好理解些邏輯思維上的問題.

IOS學習流程:C -&> OC -&>UI -&>Swift

假如你是一名在校學生,因為興趣而去學ios開發,可以簡單學習oc然後就快速上手swift.

若是以ios開發為職業,多放點心思在oc.因為出來應聘,很多項目主要還是OC為主,swift還在過渡中,應用比例相對沒OC多.隨著時間,swift取代OC是必然的.(關於swift和oc的介紹,請自行百度百科查詢)

學習準備:

一台可以運行Xcode的電腦,Xcode只能在蘋果系統下運行.

你可以選擇購買蘋果電腦,也可以選擇安裝黑蘋果.(黑蘋果內容,請自行遠景論壇了解.)

C語言可以在Win系統學習,編譯運行.但是想開發ios軟體,使用OC或者swift,必須是在蘋果系統了.

ios9開發,Xcode7,需要的系統最低是10.10.3.

所以你現在想學ios開發,請下載最新的系統,Xcode也採用最新的版本.

學習途徑:

培訓班

我學習ios開發是在培訓班的.優點缺點明顯.自己衡量吧.

優點:1.坐在身邊的都是一些學習目標一致的"戰友",一起共同努力,共同解決學習中遇到的問題,困難.形成自己的ios朋友圈.以後工作,即不在同一公司,以後面臨開發上的問題,也可以通過Wechat或者QQ來交流,尋求幫助.

2.有老師講解,結合機構的課程安排,更科學性去學習.克服出現惰性學習的問題.

缺點:1.學習的深入度有限,主要都是基礎為主.畢竟,隨著實踐開發經驗的積累,自己也會慢慢開始自主學習深入的知識.這個點,取決你如何看待了.

學習C語言:

1.下載pdf書籍或者購買實體書.

我個人建議是下載pdf,&.學習c語言的時間大概花1-2周的時間入門就可以了.熟悉相關知識點就可以了.

2.視頻

在網上一些ios開發視頻中,視頻結合書籍來學習,遇到不明白的地方,看書.,明白了就繼續看視頻.

若是在培訓班的話,跟上老師的教學進度,有不明白的地方多問老師或者自行看書,百度相關問題,不讓今天的疑問成為明天的疑問.明白老師當天的內容,提前預習,就可以了.學習,切忌心急,一步一步來.

學習OC語言:

1.購買實體書

學習oc的時候,就需要學精.我看了網上的pdf書籍,很多都是舊版的.設計ios8的相關資料,英文版居多.學習ios開發,購買的資料書,最好買最新的. 因為ios更新較快,很多ios4的方法,在ios7就棄用,ios5的方法,在ios8棄用.所以,購買新的資料,不會虧的.

2.視頻

這個不用都說了.只說一句:學習,貴在堅持.挺住吧.


我剛剛看了一個視頻不錯 我推薦給你愛吃鍋巴の北堂允晨空間動態-愛吃鍋巴の北堂允晨相關視頻-愛奇藝


有一台Mac , 之後寫代碼


題主是真想深入ios開發還是只想快點做出自己的app?(看起來是想深入ios開發,那很多答案已經說得很好了)我這答案只提供額外的參考:如果只想快速開發app,可以考濾ionic,react native這樣js+html5的方案,不用深入了解ios開發,同時支持andriod,開發一般的app夠用了


推薦閱讀:

iOS 為什麼不開發一鍵關閉所有應用的功能?
iOS 和 Android,哪一個可以走得更遠?
為什麼iOS開發比Android開發需求少這麼多?
如何禁止 iPhone Safari 視頻自動全屏?
如何評價蘋果公司要求開發者在 2017 年前全部採用「HTTPS」?

TAG:學習 | 編程 | iOS開發 | iOS開發入門 |