1. 程式人生 > >iOS swift零基礎學習心得

iOS swift零基礎學習心得

由於公司業務需要,2016年3月中旬左右開始學習iOS開發。由於是從java轉iOS,OC的語法實在是不適應,跨度比較大,而swift的語法更傾向於java和js的綜合體,相比較來看,swift更適合自己。

學習語法非常快,但是由B/S模式向C/S模式轉變是一個痛苦的過程。最困惑我的是裡面的一些控制元件,我不清楚都有些控制元件,每一種控制元件的具體用法、用途。網上大部分的資料都是關於OC的,我需要把OC語句翻譯成swift語句,xcode自帶的API對我幫助很大。

第一個月的學習是收集各種資料,看視訊學習,針對每一個API裡的方法或控制元件做各種小的demo,例子全部是storyboard設定相關的。這讓我一度以為swift開發好簡單,拖拖控制元件然後再設定一下就出來一個頁面了。第二個月開始著手準備要做東西的,遇到了困難,首頁的滾動banner圖搗鼓了好幾天,自定義tabBar又搗鼓了好幾天。在這期間我發現cocoachina.com(swift原始碼較多)以及github.com(第三方類庫)網站的好處,可以下載大部分控制元件的一些例子原始碼,理解了以後再自己寫出來。越往後寫越覺得拖控制元件的方式太過麻煩,不如程式碼更好理解控制,而且還可以熟悉一些API,因此我就果斷放棄拖控制元件的方式,純程式碼實現頁面及功能。後續又陸續遇到很多問題:cocoapods使用、第三方類庫、設計模式(主要是代理)。http://stackoverflow.com/ 相關的技術解答還是比較專業的,不過對英語的要求比較高。

如果有相關的iOS專案可以參照的話,在仿照著寫功能的同時,進步會很大。第三方類庫節省了自己寫程式碼的時間,如果有時間的話,還是通過自己寫具體程式碼的方式實現一些功能得到的提升更大,不要過於依賴第三方庫,用的同時需要了解它是怎麼實現的,從中也能學到很多的設計模式相關的東西。

關於正在做的東西,工程的目錄劃分:每一類功都有自己的MVC分層,單獨作為一個目錄;使用cocoapods管理第三方類庫;正在用的第三方類庫有:Snapkit(介面佈局,設定約束,需要多練習)、Alamofire(網路請求)、ObjectMapper(Model轉換使用)。目前為止這三個可以滿足我現在App的所有需求,App的進度已經完成了70%左右,準備在6月中旬完成所有功能。

在學習的這2個多月的時間裡,由於還要兼顧java開發的相關工作,精力不是特別充沛,進度及效率對自己不是很滿意。爭取在3個月內能夠完成iOS開發的工作。從今天開始,要對自己iOS swift學習及開發過程中遇到的問題記錄一下,算是備忘錄吧,也希望能夠幫到更多的人。