標籤:

怎麼提高ios開發的思維邏輯?

本人ios新人,c語言基礎學了個大概,然後oc仔細學了一遍,現在開始學ui了,可是剛學到超級猜圖項目的時候就已經開始暈頭轉向了,一個300行的代碼,經常看視頻看著看著思維亂了,希望大家提點建議。


你是基本功不紮實啊


完全沒開發經驗的話,看視頻教程還是挺好的入門手段。因為在字面上描述操作過程很容易有個別細節遺漏了,或者描述的不是很容易看懂,初學者容易卡住,挺打擊信心。看視頻的話,能比較順利的看到正確的結果,知道應該是怎麼個過程和怎麼個結果。CodeSchool 的 Learn by Do 就更好,就是視頻講一段,然後有一個模擬的環境寫東西,既能上手操作,又不用分散注意力去準備工作環境,也不會被意外情況打擾。話說它家新出了 Try iOS 課程哦。

但也要注意視頻很容易讓自己以為會了,因為你能看到講解、動手過程和結果,但是關掉視頻,其實大部分沒存在腦子裡。編程序是個手藝活,得要上手練;關掉視頻,打開 Xcode,把剛才講的東西自己練一遍,是不是發現好多東西都需要回去看一眼當時是怎麼講的?即使能按步就班的都做出來了,也並不意味著就真正理解每一步的知識了,試著自己搭個東西,或者改個效果,感覺不知道怎麼下手就是沒真明白。

而且視頻教程本身,也分不同路數。傳智有公布課程目錄,瘋狂猜圖是它家挺早引入的一個練手項目,所以你應該是在看這一套吧。這套視頻可不是給自學準備的哦,這是給培訓班留個印象使的,它的學員在上手練的時候,旁邊應該是有同學商量、老師指導的,所以在視頻的形式和節奏上,都不是為自學設計的,當場上機練習才是解決問題的主要環節(我不是傳智的工作人員也沒上過它家的課,如果有出入請指出)。所以,這錢不好省呀。

適合自學的教程,斯坦福那套不錯,就是太太太啰嗦,反正我是看不下去啦。Lynda 的 Intro 也不錯,做得真心專業,可惜覆蓋的知識點又太少了。我猜想比較適合初學者的方法可能是,拿 Lynda 的視頻快速建立常識和信心,然後找本書啃過去,速成向的啃 Big Nurd Ranch,死磕派的啃 Matt Neuburg,個別點實在理解費勁,看看 raywenderlich 上有沒有教程。抱歉,這些都是英文的,中文資料我不熟,沒法推薦。

至於你的主要問題,其實跟 iOS UI 這段關係不大,那個程序想來也用不了多少 API,問題還是出在「仔細學了一遍」的 Objective-C 上,學是學了,估計沒怎麼寫吧,可惜 codewars 的 ObjC 支持一直沒出,不然去那兒刷基礎題很管用,考慮退而求其次去 tutorialspoint 手打例題吧。等刷夠1000行,Foundation Framework 的常用類也都耍過了,想來也就沒這麼多困難了。

會編程語言的語法,離能用它自主寫簡單的程序約么有1000行練習代碼那麼遠,離能流利地實現自己的想法約么有10,000行代碼那麼遠。倒也不是說,你得先刷夠這麼多代碼行,才可以去學UI,做應用,不過就得要定得下心,反覆啃示例和講解,耐心跟各種奇怪的問題和代碼bug做鬥爭,一句話,急不來的。


啊,對了,忘記了應該有的習慣。謝 @ 若離 邀請

(花擦,現在的@搜索技術也是醉了,輸入 ID 也沒法 @ 到對的人了?!)

========原答案如下========

並不想說太多,畢竟自己搞 iOS 開發也並沒有很久的時間。

那麼就說說這麼多年編碼自己的一點體會吧:

如何快速入門?看視頻?我不反對,畢竟初學入門的時候視頻的確就像師傅領進門的感覺,直觀且易懂。(不易懂的視頻你看兩眼看不明白就乾脆直接關掉就好了)

如何快速提高?看視頻?我堅決反對。你問我為什麼答案跟剛才不一樣了?因為想提高的話難道你不該去多看 API 文檔,多親手擼代碼,多調自己做出的 BUG 么?想看視頻提高是 shen me gui ? 反正我沒見過誰光看看視頻就精通了某樣東西的……就算是看視頻學做飯,你不也得親自下廚才能學會怎麼擼菜么?

前面的挺好,但是看不懂後面視頻了,怎麼辦?不對,這時候不該問怎麼辦,而是應該問怎麼了?為什麼自己突然看不懂了,是講得太深奧還是基本點沒掌握就跑來看基本點的進階應用了?

所以,結論:多練!多練!多練!重要的事我果然還是重複了三遍……

練的時候遇到問題和難點怎麼辦?多查官方 API 文檔,多上 StackOverflow,多找 Github 的優秀資源,多翻 Google 來的材料和書。百度?shen me gui? 不能上?你連 XX 都不會?!


多練習吧,看再多,不動手都是假的。

我之前開始學的時候,不懂的代碼,就一遍又一遍敲出來跑,還是不懂就記著,慢慢的就理解力上去了。


「看視頻」 -- 好吧,你的方法從一開始就錯了。

多年前,我偏執的做兩件事情:

  1. 看到簡歷是從某某畢業然後沒有工作,去上了一個北大青鳥,投來的簡歷一概扔
  2. 我的team有人告訴他每天學的很認真,但是去網上找找視頻看看,一概罵

既然我說了這是偏執了,丫那些做視頻在線教育的就別過來拉屎了。

你要做的,是靜下心來,做幾件事情:

  • 如果你連300行代碼都看不懂,那不管是你的OC/Swift基礎,還是你的cocoa基礎,對iOS的認識還真的不夠,你需要做去找兩本書,一行一行讀完,然後敲完例子的每一行代碼。對新手來說,學習沒有捷徑,苦練習不可少
  • 註冊一個Github帳號,關注幾個著名的,但是功能又是比較簡單的開源庫,等你做完第一步之後,讀讀讀讀讀別人的代碼。例如:samvermette/SVPullToRefresh · GitHub 讀代碼,一定不是讀,而是邊上放一個手寫的筆記本,變讀,邊記。記什麼?把你沒看懂的函數,沒看懂的用法,記下來,然後:深入研究,直到搞懂。例如,多數剛入門iOS新手,在看SVPullToRefresh的源碼過程中,一定搞不懂 contentSize/contentInset/contentOffset,所以,針對ScrollView的深入研究一定是需要的;然後就是animation;如果裡面用到了CAlayer,也是需要花功夫去研究的。

別指望的別人給你支兩招,明天起來你就看懂了,做好苦練一年的準備。

所謂高手,要先看你想不想成為高手!

============帶完孩子來更新======

看到很多人說不看視頻比較扯,不看WWDC的視頻無法成為高手。我不反對其他高手通過看視頻成長起來,如果你是跟著某著名大學的視頻一集一集學下來,還通過了最後的考試,也是好事,也是牛的方法。每個人經歷過的並總結出來的都是自己經歷的方法,無須糾結。在我看來,新手靠聽視頻,進展太慢,尤其是隨便找來看看的。另外,我只是感覺,問者不是在認真的有效的在看WWDC而已。

至於我提到的「網上找找視頻看看」就罵,請relative的看待,我當然沒資格罵人嘍。哈哈

======

最近在寫微信公眾號,感興趣的關註:


黑馬12.16雙元班????


如果沒猜錯的話,題主是在看李明傑在傳智時候的視頻吧。。。建議看的時候做一下筆記,然後接著自己敲一下代碼,記住,是自己敲,不要跟著視頻。敲完就慢慢明白了


當初就看了一遍斯坦福的那個視頻。然後就再也沒看過視頻了。覺得還是看文字資料比較好。不懂,停下來。多思考。


上面的答案如果不適合你的話,可以看看 iOS開發怎麼入門? 這個問題


不停擼代碼,入門的話就看入門級視頻

如果視頻連基礎都講不清楚還看他幹啥,換其他視頻或者一系列文章看,看一段視頻然後開擼,忘記了又重複看,直到擼出來指定的結果

代碼是需要不停訓練,剛開始需要不停寫量變引起質變,

API可以不用記住整個函數的名稱,但你得能在自動補全的提示里翻出來就行

多看書、視頻、看文章,看別人的代碼,太複雜的可以略過,等你能力到了自然就通了

很多人不是開始就特別牛逼的,天才除外,興趣驅動投入更多的時間和精力


AppleDev官方文檔及附帶的示例代碼,每年WWDC的示例代碼.想學得紮實就多花時間在這上面,沒有捷徑可走。


我也一直在思考這個問題,有一些收穫

1.有實現一個東西的想法

你可以有一個想法好的idea的產品有的時候沒想法就去模仿各種客戶端,美團,點評。。。。。

2.多讀代碼

Code4App-iOS開發-iOS 開源代碼庫-iOS代碼實例搜索-iOS特效示例-iOS代碼例子下載-Code4App.com

GitHub · Where software is built

(PS:去找份github上前一段時間某大廠搞的大新聞的代碼,邊模仿邊讀應該會有很大的收穫)


推薦閱讀:

IOS的健身應用FitStar帶來的體驗如何?
相比 Android ,iOS 最不能忍受的缺點是什麼?
OS X 和 iOS 平台的 iWork 和 iLife 免費贈送政策具體是怎樣的?
iMac內存換成16G仍然慢是什麼原因?
WWDC 2015 有什麼值得期待的地方?

TAG:iOS | iOS開發 |