零基礎(chǔ)學(xué)習(xí) iOS 開(kāi)發(fā)最難的是什么,如何克服

開(kāi)發(fā)這個(gè)東西的話,其實(shí)入行門檻雖說(shuō)不高,但是其實(shí)也不算特別低的,不然為什么程序員那么多,但是工資在普遍看來(lái)還是比較高的,是不是?先猜測(cè)如果已經(jīng)是畢業(yè)工作了的話,即使是比較輕松的工作,業(yè)余時(shí)間也是比較有限的,僅僅憑借興趣,能支撐樓主維持多長(zhǎng)時(shí)間段里的持續(xù)時(shí)間投入,畢竟如果這周3小時(shí),下周3小時(shí)之類的,我不認(rèn)為能夠達(dá)到3+3=6,很有可能3+3 <3。而且這還要看題主想要達(dá)到一種什么程度,玩票性質(zhì)?還是到足以取得一份以此為工作能養(yǎng)活自己的程度?程序員是一個(gè)比較苦逼的職業(yè)哦~好了,潑冷水潑了這么多,如果上面的這些問(wèn)題,題主都想的差不多了,或者有相對(duì)的覺(jué)悟的話,那么我覺(jué)得才可以考慮實(shí)施的一些策略和細(xì)節(jié)。普通的程序員入門相關(guān)的話,多看一些基礎(chǔ)的書啊,把 C 和 C++這種學(xué)好啊之類的,我就不贅述了,題主應(yīng)該在很多別的地方能找到類似答案。我的建議:1.Mac 和 iOS 設(shè)備Mac最好不是黑蘋果,iOS 設(shè)備最好是 iPhone 這種能作為你日常設(shè)備的。雖然黑蘋果和 Xcode? iPhone Simulator 能在很大程度上滿足最最基本的開(kāi)發(fā)需求,但是也只是基本而已。尤其是一臺(tái) iPhone,作為一個(gè)開(kāi)發(fā)人員,你是要比普通用戶更多地理解這個(gè)平臺(tái),而你居然都不是一個(gè)或不曾是一個(gè)用戶,在我看來(lái),有些扯淡。而且平時(shí)多用,看到好的應(yīng)用,會(huì)去思索它是怎么做到的。當(dāng)你已經(jīng)有了一些進(jìn)步之后,能將自己寫的應(yīng)用跑在自己的設(shè)備里,甚至可以隨時(shí)隨地展示給你的朋友們看,這種成就感,豈是模擬器之流能比的?再不濟(jì),你已經(jīng)花錢投入到了這個(gè)里面,不要讓這些錢浪費(fèi)至少也能成為一個(gè)不錯(cuò)的堅(jiān)持的理由嘛。2.環(huán)境圈子圈子的重要性相信不用我多說(shuō),置身于一個(gè)開(kāi)發(fā)的圈子中是很重要的。如果你身邊有認(rèn)識(shí)的這方面的朋友,不要害羞,盡管去騷擾他們,當(dāng)然,他們?nèi)绻麕椭?,你也得?qǐng)他們吃飯什么嘛,有來(lái)有回。但也很有可能沒(méi)有這樣的朋友,那這個(gè)時(shí)候,網(wǎng)上找嘛。CocoaChina 還算是國(guó)內(nèi)的一個(gè)比較大的社區(qū),多在里面混混,有不少教程,也有很多熱心的人回答問(wèn)題。而且多互動(dòng)你很有可能更有成就感,有一定的進(jìn)步后有人認(rèn)可你,才足以讓你繼續(xù)下去。一個(gè)人埋頭苦干,路上會(huì)碰到那么多問(wèn)題,你要是沒(méi)有一個(gè)好的圈子幫助你,你很可能就卡在那個(gè)地方,永不前進(jìn)了。3.努力尋找實(shí)踐的機(jī)會(huì)在達(dá)到一定水平后,也許朋友有個(gè)小點(diǎn)子讓你坐著玩的東西,那就做?;蛘咭部梢耘θフ艺夷承┰诰€的遠(yuǎn)程的外包團(tuán)隊(duì),加入他們做一些簡(jiǎn)單的東西,實(shí)踐總強(qiáng)于紙上談兵。(別鄙視外包啊,魂淡,找份正經(jīng)的工作不是這么容易的好嗎,有人肯讓你做東西,就先做著再說(shuō)啊,至少是個(gè)經(jīng)驗(yàn)啊?。┯辛诉@些之后,競(jìng)成一個(gè)正向的良性的循環(huán),語(yǔ)言的入門啊,框架的理解啊,這都是水到渠成的事情了,我不是說(shuō)那些都會(huì)很簡(jiǎn)單和輕松,但是至少不會(huì)那么迷茫了,對(duì)吧?可以加下ios學(xué)習(xí)交流QQ群:629920342

- 如何下決心去做我其實(shí)算是一個(gè)不折不扣的懶人,所以裝了xcode之后有1年都幾乎沒(méi)怎么碰,因?yàn)榭傆X(jué)得找不到什么項(xiàng)目可以寫也沒(méi)什么時(shí)間寫。所以其實(shí)這是一個(gè)大難關(guān),如果這個(gè)突破不了你根本沒(méi)法動(dòng)手去做。ios上來(lái)寫游戲有點(diǎn)困難,所以初學(xué)者我建議找一個(gè)規(guī)模比較小,頁(yè)面比較簡(jiǎn)單的項(xiàng)目,先不管三七二十一照著教程照貓畫虎做一個(gè),有了興趣就可以接下去繼續(xù)做了。克服辦法:想辦法找一個(gè)你有興趣的app點(diǎn)子做。- 中文資料把你帶溝里由于現(xiàn)在xcode7直接從swift2.0開(kāi)始,國(guó)內(nèi)很多中文資料是1.0或者1.2的,所以上來(lái)我就被println給坑了——運(yùn)行會(huì)直接報(bào)錯(cuò),搜了一下才知道2.0改成了print。這樣的例子還有很多,郵局港劇,國(guó)內(nèi)很多swift教程資料都是翻譯國(guó)外的,而這部分資料很有可能過(guò)時(shí)了之后,國(guó)外的作者在原帖更新了,國(guó)內(nèi)的翻譯人員肯定沒(méi)那么及時(shí),然后swift不像其他語(yǔ)言,落后一段時(shí)間之后可能語(yǔ)法都大變了。這個(gè)時(shí)候看國(guó)內(nèi)資料基本上會(huì)被坑到媽都不認(rèn)識(shí)??朔k法:有問(wèn)題只看stackoverflow- “顯而易見(jiàn)”的問(wèn)題很多教程就和數(shù)學(xué)證明一樣,“顯而易見(jiàn)”這里應(yīng)該這樣,或者“很明顯”,“易得”之類的跳過(guò)一些他們覺(jué)得很簡(jiǎn)單的部分,國(guó)內(nèi)教程有些時(shí)候翻譯錯(cuò)了或者漏了幾張圖就更明顯。經(jīng)常看一篇教程看著看著就感覺(jué)好像中間漏了一大截。克服辦法:無(wú),只能自己慢慢摸索- 問(wèn)號(hào)與嘆號(hào)單獨(dú)拿出來(lái)說(shuō),這個(gè)太麻煩了。俗話說(shuō),每當(dāng)你用一次嘆號(hào),你就殺死了一只貓。問(wèn)號(hào)好像叫做可選變量,嘆號(hào)是叫強(qiáng)制解包,道理很簡(jiǎn)單,但鴿子為什么這么大!對(duì)于一個(gè)只玩PHP的人,這問(wèn)號(hào)嘆號(hào)簡(jiǎn)直是噩夢(mèng),習(xí)慣了弱類型+無(wú)需聲明變量的語(yǔ)言之后,給我一個(gè)強(qiáng)類型+強(qiáng)制聲明的語(yǔ)言,我連展開(kāi)個(gè)數(shù)組解一個(gè)json都要折騰半天,php分分鐘能搞定的東西就因?yàn)檫@個(gè)要羅里吧嗦寫半天。雖然我也知道世界上大多數(shù)語(yǔ)言都是強(qiáng)類型+強(qiáng)制聲明,連PHP7都這么干了。但我就是不習(xí)慣啊啊啊啊。不過(guò)總歸這是業(yè)界潮流,也不能抱著php5不放是不是……克服辦法:多殺貓殺殺就習(xí)慣了。- 快速上手xcodexcode的邏輯其實(shí)很奇怪,比如單擊文件打開(kāi)標(biāo)簽,多標(biāo)簽的管理方式和大多數(shù)IDE不同,界面古怪得有點(diǎn)像itunes,小屏幕上用起來(lái)憋屈等等。習(xí)慣了常規(guī)IDE比如idea家或者是vs的人要轉(zhuǎn)過(guò)來(lái)的確挺扭曲。反正我是至少用了一周才勉強(qiáng)比較習(xí)慣。克服辦法:找一個(gè)手把手step by step教你做一個(gè)single page app的那種教程,不管三七二十一照著教程來(lái)一次。- 寫swift手感這個(gè)好解決,看教程的時(shí)候一定每句代碼都要自己敲,切勿從教程直接復(fù)制代碼到你的演示app里面,為了解決你手賤的問(wèn)題,你可以把變量名改一下。手動(dòng)多敲幾遍代碼絕對(duì)可以提升手感,尤其是swift這種和C差得不太遠(yuǎn)的還好,py這種現(xiàn)代語(yǔ)言一定要親手多敲幾遍才能有手感??朔k法:挖掉ctrl+C鍵- 數(shù)組和字典PHP和JS用戶的痛,swift的集合管理完全是上了一個(gè)新臺(tái)階。習(xí)慣了 var x = [] 的人要吃苦了……克服辦法:多用用就會(huì)了。- 語(yǔ)法糖里有毒和其他現(xiàn)代語(yǔ)言一樣,swift也是一大堆語(yǔ)法糖,不過(guò)某些語(yǔ)法糖里面摻了私貨,比如匿名函數(shù)的簡(jiǎn)單寫法(好像叫什么尾隨函數(shù)?)我感覺(jué)比傳統(tǒng)寫法還麻煩,我現(xiàn)在都記不住,每次都要去翻手冊(cè)。然后switch不用break我也老忘等等。克服辦法:多用用就會(huì)了。- 冗長(zhǎng)難記的函數(shù)名變量名和常量名這個(gè)據(jù)說(shuō)是從OC繼承來(lái)的,為了貫徹蘋果的“只看函數(shù)名就知道這個(gè)函數(shù)有啥用”的政策,swift的系統(tǒng)函數(shù)名字都非常冗長(zhǎng),尤其是函數(shù)參數(shù)名長(zhǎng)到夸張,為了解決這個(gè)問(wèn)題他們甚至搞出了“內(nèi)部參數(shù)名”和“外部參數(shù)名”這種令人瞠目結(jié)舌的東西。如果你想用傳統(tǒng)的純文本編輯器寫……對(duì)于新手來(lái)說(shuō)會(huì)非常痛苦??朔k法:類似我這種新手就老老實(shí)實(shí)用xcode,不要去跟風(fēng)玩什么勞什子appcode。- 一些簡(jiǎn)單問(wèn)題可能很難搜出來(lái)我寫的時(shí)候遇到了一個(gè)問(wèn)題 UIsearchbar在觸發(fā)的時(shí)候會(huì)頂?shù)魻顟B(tài)欄,這個(gè)時(shí)候如果狀態(tài)欄是light模式,那么會(huì)完全變得透明使得界面變得很難看,取消UIsearchbar也變不回來(lái),但是模擬器上就沒(méi)問(wèn)題,只有真機(jī)才會(huì)出現(xiàn),這問(wèn)題我搜什么uisearch status bar color之類的搜了半天都搜不出,足足折騰了一周,才發(fā)現(xiàn):這TM是ios8的bug!我真機(jī)是ios8模擬器是ios9……于是最后又找了好幾天才找到一個(gè)alternate fix code解決……血都吐了三升了。這個(gè)問(wèn)題其實(shí)就是說(shuō),不光國(guó)內(nèi)資料少,國(guó)內(nèi)swift資料都不多,好多問(wèn)題你不在后面加個(gè)swift保準(zhǔn)你搜了全是OC的。克服辦法:無(wú)- xcode閃退編輯storyboard的時(shí)候經(jīng)常是,點(diǎn)一個(gè)右側(cè)的下拉菜單,閃退,拖一個(gè)控件,閃退,點(diǎn)一下復(fù)選框,閃退,做個(gè)auto layout,剛點(diǎn)下生成約束就閃退。而且一般都是在你寫得正有靈感的時(shí)候閃退,讓你有一種砸電腦的欲望??朔k法:編輯storyboard的時(shí)候每10秒存檔一次。

學(xué)習(xí)ios需要一個(gè)良好的氛圍和一個(gè)好的朋友帶著你學(xué)習(xí),我們建立的那個(gè)群:629加上920最后342的目標(biāo)就是大家相互幫助,相互解答,多一個(gè)人多一個(gè)學(xué)習(xí)方法,在群里大家不懂的都可以在群里問(wèn),所以現(xiàn)在很多已經(jīng)都是月收入在2萬(wàn)以上。平時(shí)有什么新的技術(shù),我們的那些大神都會(huì)出來(lái)一起研究,所以氛圍很好。

感覺(jué)寫的好,對(duì)你有幫助,就點(diǎn)個(gè)贊唄,別光只收藏哈.~( ̄▽ ̄)~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容