0基礎學習iOS的一些感想
從剛開始學習iOS到現在也有快一年的時間了。雖然是參加了教育訓練學校,不過個人還是有一些初學階段的心得,希望能對準備投身iOS開發浪潮的童鞋們有點小幫助。
由于是零基礎學習,大學沒接觸過程式相關的東西,是以我的經驗可能對于有基礎的想轉平台的童鞋沒什麼幫助。
好了廢話不多說了,個人主要曆程如下:
從一個小白到現在學會這門手藝,這條路可謂艱辛啊,不提我那可憐的教育訓練費,還有4個月的埋頭苦學,下面基本說下每個階段的學習主要是哪些方面。
c語言:
a) 了解了神馬叫程式設計,一堆英文字母和運算符号的有序集會
b) 常用的變量,文法(數組,字元串相關的比較重要,基本的if ,switch各種循環等)
c) 數組,指針(感覺是重點,小白同學們可以多花點時間研究研究)
d) 函數的定義使用(這邊很重要,特别是對于後期的oc的學習,感覺很有幫助)
e) 檔案的讀寫以及一些常用的函數
現在想起來,c語言似乎概括起來也就這些,因為最終使用的是oc語言,是以c語言方面比較深的東西都沒有深究。
程式說白了除了要能了解之外,就是大量的練習,實際動手敲代碼,在學c的階段,我感覺最重要的一點就是老師教會了我們用程式的眼光看問題,一行一行的讀代碼,可能有些童鞋不贊同這種觀點,因為很多代碼是前後有關聯的什麼的,但是,我個人建議,純小白如果想迅速提高自己,第一步學會一行一行的讀代碼。
這個階段學習的話,建議大家買譚浩強的那本經典c語言就可以了。正好這個書有配套的習題,不追求每一題都會,但是一定要熟悉和清楚最基本的概念。
Objective -c 語言:
a) 學習了面向對象的程式設計思想
b) oc特有的一些機制(協定,類别之類的)
c) oc記憶體管理
d) Foundation架構(常用的資料類型,字元串,集合家族)
e) 檔案的操作
直接從c轉過來的童鞋可能接觸oc的時候會比較迷茫,完全不同的程式設計思想,一些特有的機制會讓剛開始的學習有點困難,不過不要緊,還是記住一句話,程式是一行一行的讀的,我剛開始學的時候主要碰到的難點如下:
a) 完全不了解關聯的概念
b) 對于set,get方法總喜歡鑽牛角尖,覺得沒什麼必要(事實證明,這是很有必要的。哈哈)
c) 不了解類别的具體用途
d) 對于協定的實際使用不熟練
e) 記憶體管理,各種糾結
f) 不了解c的基本資料類型和oc裡的數值對象的差別
當時主要是這些問題,可能在學習的各個階段都不是很熟悉,當時老師要求用oc實作各種連結清單的時候是對神經的一種摧殘,因為那會剛開始接觸oc,個人也強烈建議初學的同學盡量用oc實作各種資料結構,一方面加強對資料結構的了解,一方面也能快速的了解oc的一些基本的文法和思想,提高和加快學習的進度。
這邊的話建議大家要盡量熟悉foundation架構裡的一些基本的東西,字元串,數組,字典。這些是非常常用的,盡量能夠熟悉他們的每一個方法,會在以後的程式設計裡極大的提高程式設計的速度也會快速的提升自己的水準。
這邊對于這三個東東,介紹點自己當時的學習心得吧:
字元串:
1, 區分NSString和NSMutableString的差别
一個是不可變可以想象成固定的模子,做好了就不能改了,可變的就是橡膠泥的模子,不符合需求的還能再次修改
2, 了解[NSString stringWithFormat:]的具體使用方法:
NSString *str = [NSString stringWithFormat:@”%d”,1];
NSString *str1= [NSString stringWithFormat:@”%@”,str];
簡單來說。O-c裡的字元串要比c語言裡的靈活好用很多,幾乎就是正常的說話的感覺,同時在次感謝下老喬的這種理念,方法名起的跟說話一樣。哈哈
數組:
1, O-c裡的數組剛開始接觸時,感覺太好用了,不限制類型,可變的還不用管剛開始的記憶體配置設定
2, 區分NSArray和NSMutableArray的差别
3, [array objectAtIndex:];方法
說實在的,數組當時在學的時候沒有感覺到太多的障礙,因為跟c的數組比起來,oc的數組實在是太可愛了。哈哈
字典:
1, 字典存儲值的方式:鍵值對,相當于一個标簽,對應一個對象一樣
2, 字典的最簡單的初始化方法:[NSDictionary dictionaryWithObjectsAndKeys:],我個人建議剛開始用字典的童鞋可以直接用這個方法,簡單直接,有助于幫助了解字典到底是個神馬玩意,具體的定義方式如下:
值在前,鍵在後面,最後用nil結尾就好了。
字典的話,主要感覺一開始不知道該怎麼用,(不熟悉害死人啊,當時剛學完O-c的時候幾乎都不用這個)不過一旦能夠了解字典的存取方式,其實是個很強大好用的東西。
我剛開始學習O-c的時候參考書籍還不是很多,當時買的是那本經典的水果書:
不過現在的參考教材應該會多出很多來。這本書對于剛接觸O-c的童鞋來說感覺價值不是很大,偏難。或者說,不怎麼符合天朝人的思維,建議選用一些國人寫的書,也許相對會好點。
iOS平台
xib的使用(現在的可能都流行SoryBoard,個人不怎麼喜歡用圖形化工具,還是感覺代碼會比較有層次,各位童鞋酌情而看,哈哈)
a) UIView的一些知識
b) 各種控件
c) UIViewController的一些知識
d) 動畫以及圖形處理
e) 手勢開發和觸摸
f) 表格視圖(UITableView)
g) 導覽列
h) 各種傳感器
i) 資料持久化
iOS平台剛開始的時候,接觸的比較直接的就是UI的編寫,在視圖上添加各種控件,個人對當時在教育訓練期間的iOS平台學習計劃安排現在感覺相當的不滿,半個月的學習時間,幾乎有12,13天左右都是在講各種控件,相當重要的網絡,資料持久化以及xml,json資料解析甚至就簡單的走了一邊流程(心裡那個氣啊)。不過現在來說有很多可供學習參考的書以及網站,每個同鞋可以根據自己的實際接受能力來進行選擇。
iOS的學習,說實在的,我現在也在不停的學習當中,對于表視圖:UITableViewController,網絡程式設計,資料解析方面也還是有點迷迷糊糊的,是以就不誤人子弟了。哈哈。
這個階段的學習,書的話倒确實有一本可以推薦下:
希望能對想學習iOS程式設計的同學有點小幫助。